:root{--ink:#203c34;--muted:#64746d;--green:#1c604b;--dark:#163e34;--mint:#e9f2e9;--paper:#f7f8f4;--line:#dce3da;--white:#fff;--orange:#a24a20;font-family:Inter,"Pretendard","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,label.file-button,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button,a,input,textarea,select,summary{outline-offset:4px}*:focus-visible{outline:3px solid #cf6b30}a{color:var(--green);text-underline-offset:4px}button{border:0}input,textarea,select{border:1px solid #b9c9be;border-radius:7px;background:#fff;color:var(--ink);padding:10px 12px;max-width:100%}textarea{resize:vertical;width:100%}input:not([type=checkbox]):not([type=file]){width:100%}input[type=checkbox]{accent-color:var(--green);width:19px;height:19px}label{font-size:14px;font-weight:600}label input,label textarea{display:block;margin-top:7px;font-weight:400}h1,h2,h3,p{margin-top:0}h2{font-size:28px;letter-spacing:-1px;line-height:1.35}h3{font-size:17px;margin-bottom:8px}p{color:var(--muted)}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-100px;padding:12px;background:#fff;z-index:100}.skip:focus{top:10px}.header{height:86px;max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line)}.brand{font-size:20px;display:flex;align-items:center;gap:11px;text-decoration:none;letter-spacing:-.6px;color:var(--ink)}.brand b{font-weight:800}.brand-mark{background:var(--dark);color:#d8f08d;border-radius:9px;width:36px;height:36px;display:grid;place-items:center;font-size:29px;line-height:1}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.header nav a{text-decoration:none}.quiet{color:var(--green);background:transparent;padding:9px 3px;font-size:13px;font-weight:600}.quiet:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:285px minmax(0,1fr);max-width:1400px;margin:auto}.sidebar{padding:46px 28px 35px 34px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-self:stretch}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:var(--green);margin-bottom:20px}.sidebar .eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:38px;line-height:1.34;letter-spacing:-2px;margin-bottom:20px}h1 span{color:#6c8b6a}.side-intro{font-size:13px;line-height:1.8}.steps{display:grid;gap:10px;margin-top:32px}.steps button{padding:16px 13px;background:transparent;text-align:left;display:flex;align-items:center;gap:14px;border-radius:8px;color:var(--muted);font-weight:700;min-height:73px}.steps button[aria-pressed=true]{background:var(--dark);color:#fff}.steps small{display:block;font-size:10px;font-weight:400;margin-top:3px;opacity:.8}.step-num{font-family:ui-monospace,monospace;font-size:13px;color:#7a937e}.steps button[aria-pressed=true] .step-num{color:#cee792}.step-check{margin-left:auto;font-size:15px}.teacher-link{background:none;border-top:1px solid var(--line);margin-top:30px;padding:20px 0;text-align:left;font-size:12px;color:var(--green)}.teacher-link span{font-size:10px;margin-left:7px;color:var(--muted)}.teacher-link[aria-pressed=true]{font-weight:800}.side-foot{margin-top:70px;font-size:11px;color:var(--muted)}.side-foot p{font-size:10px;margin-top:8px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6a8c51;margin-right:5px}main{padding:38px 48px;min-width:0}.topline{display:flex;justify-content:space-between;font:10px ui-monospace,monospace;letter-spacing:1.4px;color:var(--muted);margin-bottom:25px}.local-label{letter-spacing:0;color:var(--green)}.activity-settings{font-size:12px;border-bottom:1px solid var(--line);margin-bottom:31px;padding-bottom:15px}.activity-settings summary{cursor:pointer;font-weight:600}.activity-settings summary span{color:var(--muted);font-weight:400;margin-left:10px}.settings-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin:18px 0 5px}.wide{grid-column:1/-1}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{margin-bottom:12px}.section-heading p:not(.eyebrow){font-size:13px;margin-bottom:0}.count-label{font:36px ui-monospace,monospace;color:#78926f;text-align:center}.count-label small{display:block;font:9px ui-monospace,monospace;letter-spacing:1.5px;margin-top:5px}.rank-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);gap:10px}.rank-toolbar b{color:var(--green)}.separator{padding:0 10px;color:#afbbb0}.status-line{font-size:11px;margin:10px 0 12px;min-height:18px}.rank-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.rank-row{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 14px;transition:border-color .15s}.rank-row:hover{border-color:#97b39c}.row-main{display:flex;align-items:center;gap:15px;min-height:40px}.rank-number{font:16px ui-monospace,monospace;min-width:26px;color:#83927e}.rank-row:first-child .rank-number{color:var(--green);font-weight:800}.item-name{font-size:14px;font-weight:600;flex:1}.item-id{font-size:9px;font-weight:400;color:var(--muted);display:block;letter-spacing:.3px}.rank-controls{display:flex;gap:5px;align-items:center}.rank-controls select{font-size:12px;min-height:40px;padding:6px 8px;width:67px;margin-right:5px}.move{border:1px solid var(--line);background:var(--paper);border-radius:5px;width:38px;height:40px;font-size:17px;color:var(--green)}.move:hover:not(:disabled){background:var(--mint)}.note{margin-left:41px;margin-top:3px}.note summary{font-size:10px;color:var(--muted);cursor:pointer;width:fit-content;padding:3px 0}.note textarea{font-size:12px;min-height:68px;margin-top:7px}.action-bar{margin-top:21px;display:flex;align-items:center;justify-content:space-between;gap:20px}.action-bar p{font-size:11px;margin-bottom:0}.primary,.secondary,.file-button{border-radius:7px;padding:12px 17px;min-height:44px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:20px}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.primary:hover{background:var(--dark)}.secondary{border:1px solid #bccdbd;color:var(--green);background:#fff}.secondary:hover{background:var(--mint)}.storage-panel{border-top:1px solid var(--line);margin-top:35px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.storage-panel h3{font-size:13px}.save-toggle{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:400}.save-toggle input{margin:0}.storage-panel p{font-size:10px;margin:7px 0 0}.storage-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.storage-actions .secondary{font-size:10px;padding:9px 12px}.file-button{cursor:pointer;position:relative}.file-button input{position:absolute;opacity:0;width:1px;height:1px;bottom:0}.file-button:focus-within{outline:3px solid #cf6b30;outline-offset:4px}.danger{color:#9b4b3d}.message{font-size:12px;min-height:20px;margin-top:13px;margin-bottom:0}.notice{background:#edf1df;border:1px solid #d3dec0;border-radius:8px;padding:15px 18px;font-size:12px;color:#45573d;margin:16px 0}.notice button{font-size:12px;background:none;color:var(--green);text-decoration:underline;margin-left:10px}.notice label{display:block;margin-top:12px;font-size:12px}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:25px 0}.metric{border:1px solid var(--line);border-radius:9px;padding:20px;background:#fff}.metric.featured{background:var(--dark);color:#fff}.metric h3{font-size:12px;font-weight:500}.metric strong{font:36px ui-monospace,monospace;display:block}.metric small{font-size:10px}.metric p{font-size:11px;margin-bottom:0}.metric.featured p{color:#c6d7cb}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:20px}table{border-collapse:collapse;width:100%;font-size:12px;background:#fff;min-width:570px}caption{text-align:left;padding:14px;font-weight:700}th,td{text-align:center;border-top:1px solid var(--line);padding:12px 8px}th:first-child,td:first-child{text-align:left;padding-left:15px}thead{background:var(--mint)}.error-cell{color:var(--orange);font-weight:600}.reflection-label{display:block;margin-top:25px}.export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.result-note{font-size:12px;margin-top:15px}.help-wrap{max-width:1200px;margin:25px auto 0;padding:0 44px}.help-section{scroll-margin-top:25px;border-top:1px solid var(--line);padding:44px 0}.help-section .eyebrow{margin-bottom:10px}.help-section h2{font-size:25px;margin-bottom:25px}.help-section p{font-size:13px;line-height:1.9;max-width:900px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-bottom:25px}.guide-grid article>span{font:12px ui-monospace,monospace;color:#78926f}.guide-grid h3{font-size:15px;margin-top:10px}.help-section details{border-top:1px solid var(--line);padding:16px 0}.help-section details:last-child{border-bottom:1px solid var(--line)}.help-section summary{cursor:pointer;font-size:14px;font-weight:600}.help-section details p{margin:14px 0 0}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:50px}.about-grid a{font-size:12px;margin-right:20px}.small{font-size:11px!important;margin-top:15px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 44px;max-width:1400px;margin:auto}footer .brand{font-size:15px}footer>span{font-size:11px;color:var(--muted)}footer nav{display:flex;gap:20px;font-size:11px}footer nav a{text-decoration:none}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;max-width:450px;width:calc(100% - 32px);box-shadow:0 20px 70px #102f3433}dialog::backdrop{background:#18352b66}dialog h2{font-size:22px}dialog p{font-size:13px}dialog>div{display:flex;justify-content:flex-end;gap:10px}
@media(min-width:1500px){main{padding-left:65px;padding-right:65px}}@media(max-width:1000px){.app-shell{grid-template-columns:235px minmax(0,1fr)}.sidebar{padding:35px 20px}h1{font-size:33px}main{padding:32px 26px}.storage-panel{align-items:flex-start;flex-direction:column}.storage-actions{justify-content:flex-start}.section-heading h2{font-size:25px}.metrics{gap:7px}.metric{padding:15px}.metric strong{font-size:28px}.header{padding:0 26px}}@media(max-width:720px){.header{height:72px;padding:0 20px;gap:12px}.brand{font-size:17px;gap:8px}.brand-mark{width:30px;height:30px;font-size:25px}.header nav{gap:14px;font-size:12px}.header nav a:nth-child(2){display:none}.header .quiet{font-size:11px}.app-shell{display:block}.sidebar{padding:23px 20px 0;border-right:0}.sidebar>div:first-child{display:none}.steps{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:0}.steps button{padding:11px 9px;min-height:55px;gap:7px;font-size:12px}.steps small{display:none}.step-num{font-size:11px}.step-check{font-size:12px}.teacher-link{border:0;margin:8px 0 0;padding:10px 0;font-size:11px}.side-foot{display:none}main{padding:15px 20px 28px}.topline{font-size:9px;margin-bottom:20px}.activity-settings{margin-bottom:25px}.settings-grid{grid-template-columns:1fr 1fr;gap:14px}.settings-grid label:first-child{grid-column:1/-1}.section-heading h2{font-size:25px}.section-heading p:not(.eyebrow){font-size:12px}.count-label{font-size:28px}.rank-toolbar{font-size:10px;align-items:flex-start}.rank-toolbar>span{max-width:190px}.separator{padding:0 3px}.rank-toolbar .quiet{font-size:10px;padding-top:0}.rank-row{padding:11px}.row-main{gap:8px}.rank-number{min-width:20px;font-size:14px}.item-name{font-size:12px;line-height:1.5}.item-id{font-size:8px}.rank-controls{gap:4px}.rank-controls select{width:59px;padding:6px 4px;margin-right:0;min-height:44px}.move{width:32px;height:44px}.note{margin-left:28px}.note summary{padding:4px 0}.action-bar{align-items:flex-start;flex-direction:column;gap:12px}.action-bar .primary{width:100%}.storage-panel{margin-top:25px}.storage-actions{gap:7px}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1}.metric strong{font-size:30px}.help-wrap{padding:0 20px;margin-top:0}.help-section{padding:32px 0}.guide-grid{grid-template-columns:1fr;gap:14px}.guide-grid p{margin-bottom:0}.help-section h2{font-size:23px}.about-grid{grid-template-columns:1fr;gap:0}footer{padding:24px 20px;flex-wrap:wrap;gap:16px}footer>span{display:none}footer nav{gap:14px;font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{body{background:white;color:#111}.header,.sidebar,.topline,.activity-settings,.storage-panel,.help-wrap,footer,.export-actions,.message,.skip,#demo-banner{display:none!important}.app-shell{display:block}main{padding:0}#ranking-view{display:none!important}#results-view{display:block!important}.metrics{grid-template-columns:repeat(3,1fr)}.metric.featured{background:white;color:#111}.metric.featured p{color:#333}.table-wrap{overflow:visible}table{min-width:0;font-size:10px}th,td{padding:8px 4px}.reflection-label textarea{border:0;min-height:100px}.table-wrap,.metrics{break-inside:avoid}}
