:root{--bg:#1c1c1c;--card:#302f34;--text:#f6f4f0;--muted:#c8c6c2;--sand:#c8ac7a;--orange:#e25c1d;--black:#1a1a1a;--white:#ffffff;--locked:#3a3940;--locked-text:#9b9aa1}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text)}body{min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,sans-serif;font-weight:500;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--sand);color:var(--black)}.screen{min-height:100vh;padding:72px 24px 80px;background-color:var(--bg);background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 0);background-size:84px 84px;background-position:top}.card{position:relative;width:min(760px,100%);margin:12px 0 0;padding:52px 40px 36px;background:var(--card);border-radius:28px;box-shadow:0 28px 70px rgba(0,0,0,.38)}.mark{position:absolute;top:-20px;left:32px;margin:0;padding:10px 22px 11px;background:var(--sand);color:#241f16;border-radius:14px;font-size:20px;font-weight:700;line-height:1;letter-spacing:-.02em}.intro{width:100%}.lead{margin:0;font-size:22px;font-weight:500;line-height:1.45;letter-spacing:-.015em}.lead+.lead{margin-top:22px}.title{margin:0 0 16px;font-size:36px;font-weight:650;line-height:1.1;letter-spacing:-.03em}.note{margin:0 0 32px;color:var(--muted);font-size:20px;font-weight:500;line-height:1.4}.actions{gap:14px;margin-top:32px}.action,.actions{display:flex;flex-direction:column;align-items:flex-start}.action{gap:10px}.action-locked{cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;min-width:220px;padding:14px 28px;border:0;border-radius:999px;background:var(--orange);color:var(--white);font-family:inherit;font-size:17px;font-weight:650;line-height:1;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:box-shadow .18s ease}.btn:focus-visible,.btn:hover{background:var(--orange);color:var(--white);outline:none;box-shadow:0 0 0 2px var(--white),0 0 18px 2px rgba(255,255,255,.55)}.btn-locked,.btn-locked:disabled,.btn-locked:focus,.btn-locked:focus-visible,.btn-locked:hover{background:var(--locked);color:var(--locked-text);box-shadow:none;outline:none;cursor:not-allowed;opacity:1}.hint{margin:0;max-width:none;color:var(--muted);font-size:14px;font-weight:500;line-height:1.35}.form-screen{position:relative}.form-column{width:min(680px,100%);margin:0 auto;text-align:left}.form-title{margin:0 0 22px;padding:28px 28px 24px;background:var(--card);border-radius:22px;color:var(--text);text-align:left;font-size:18px;font-weight:550;line-height:1.4;letter-spacing:-.02em}.questions{margin:0;padding:0}.q{width:100%;min-inline-size:0;margin:0 0 14px;padding:20px 22px 18px;border:0;background:var(--card);border-radius:18px}.q-invalid{box-shadow:inset 0 0 0 1px #ff5a5a}.q-label{display:block;width:100%;margin-bottom:4px;padding:0;color:var(--text);font-size:17px;font-weight:650;line-height:1.4}.req{margin-left:4px;color:#ff4d4d}.field{width:100%;margin-top:12px;padding:12px 14px;border:0;border-radius:12px;background:var(--white);color:#1a1a1a;font:inherit;font-size:16px}.field::placeholder{color:#9a9a9a}.field:focus{outline:2px solid var(--orange);outline-offset:1px}.grow{display:block;resize:none;overflow:hidden;min-height:46px;line-height:1.4;overflow-wrap:anywhere}.choices{display:flex;flex-direction:column;gap:8px;margin-top:12px}.choice{display:flex;align-items:center;gap:10px;color:var(--text);font-size:16px;cursor:pointer}.choice input{width:18px;height:18px;accent-color:var(--orange)}.field-error{margin:8px 0 0;color:#ff6b6b;font-size:14px}.form-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:8px}.save-status{min-height:1.2em}.menu-back{position:fixed;left:28px;top:50%;z-index:2;transform:translateY(-50%);display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:var(--card);color:var(--text);font-size:15px;font-weight:650;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.28)}.menu-back:focus-visible,.menu-back:hover{outline:none;box-shadow:0 0 0 2px var(--white),0 0 18px 2px rgba(255,255,255,.35)}.text-button{padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;text-align:left;cursor:pointer}.resume{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:min(280px,100%)}.resume .field{margin-top:0}.mark-line{padding:0 4px;background:#f6e7a8;color:#2c2618;box-decoration-break:clone;-webkit-box-decoration-break:clone}.block-title{margin:28px 0 12px;color:var(--sand);font-size:22px;font-weight:750;line-height:1.2}.brief p,.brief-list{margin:0 0 12px;color:var(--text);font-size:16px;line-height:1.45}.brief-list{padding-left:1.2em}.brief-list li+li{margin-top:8px}.sub-answer,.sub-label{display:block;margin-top:14px;color:var(--text);font-size:15px;font-weight:650}.uploads{display:flex;gap:12px;margin-top:14px}.upload{position:relative;display:flex;align-items:center;justify-content:center;width:112px;height:112px;overflow:hidden;border-radius:16px;background:var(--white);color:#6d6d6d;font-size:14px;font-weight:650;cursor:pointer}.upload img{width:100%;height:100%;object-fit:cover}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-invalid{box-shadow:inset 0 0 0 2px #ff5a5a}.excel{--excel-w:min(1180px,calc(100vw - 400px));width:var(--excel-w);margin-top:14px;margin-left:calc(50% - var(--excel-w) / 2);padding:18px;overflow:auto;border-radius:18px;background:#fff;color:#1a1a1a}.excel-bar{display:flex;gap:8px;margin-bottom:12px}.excel-addr{display:flex;align-items:center;justify-content:center;min-width:64px;border:1px solid #d5d5d5;border-radius:8px;background:#f6f6f6;font-size:13px;font-weight:700}.excel-formula{position:relative;flex:1 1}.excel-formula input{width:100%;height:36px;padding:0 10px;border:1px solid #d5d5d5;border-radius:8px;color:#1a1a1a;font:inherit;font-size:14px}.excel-suggest{position:fixed;z-index:30;min-width:180px;margin:0;padding:4px;list-style:none;border:1px solid #e4e4e4;border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.12)}.excel-suggest button{display:block;width:100%;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:#1a1a1a;font:inherit;text-align:left;cursor:pointer}.excel-suggest .is-on,.excel-suggest button:hover{background:#f6e7a8}.excel-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.excel-col{display:flex;flex-direction:column;gap:18px}.sheet{border-collapse:collapse;font-size:14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sheet td,.sheet th{height:32px;padding:4px 8px;border:1px solid #e3e3e3;background:#fff;color:#1c1c1c;font-weight:500;text-align:left;white-space:nowrap}.sheet th{min-width:28px;background:#f3f3f3;color:#777;font-size:11px;font-weight:650;text-align:center}.sheet td.is-blue,.sheet td.is-green,.sheet td.is-orange{font-weight:750;text-align:center}.sheet td.is-orange{background:#f6d7b8}.sheet td.is-green{background:#c5e0b4}.sheet td.is-blue{background:#b7d4ea}.sheet td{cursor:cell}.sheet td.is-edit{width:72px;min-width:72px;max-width:72px;background:#fffdf8}.sheet-solution td.is-edit{width:190px;min-width:190px;max-width:190px}.sheet td.is-used{background:#eef4ff;outline:2px dashed #4a7fd6;outline-offset:-2px}.sheet td.is-active{outline:2px solid #e25c1d;outline-offset:-2px}.sheet td.is-pointed{background:#fde7cf;outline:2px dashed #e25c1d;outline-offset:-2px}.sheet-input{display:block;width:100%;min-width:0;height:24px;padding:0;border:0;outline:none;background:transparent;color:#1c1c1c;font:inherit;-webkit-user-select:text;-moz-user-select:text;user-select:text}.excel-note{margin:10px 0 0;color:#666;font-size:13px}.admin-login{display:flex;flex-direction:column;gap:4px;width:min(460px,100%);margin:40px auto 0}.admin-login .form-title{margin:0;padding:0;background:none}.admin-login .btn{margin-top:18px}.admin-wrap{width:min(1040px,100%);margin:0 auto}.admin-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.admin-spacer{flex:1 1}.admin-title{margin:0;font-size:30px;font-weight:700;letter-spacing:-.03em}.admin-count{flex:1 1;color:var(--sand);font-size:22px;font-weight:700}.admin-ghost{padding:9px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.admin-ghost:hover{border-color:var(--white)}.admin-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:18px;background:var(--card);font-size:16px}.admin-table td,.admin-table th{padding:15px 18px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07)}.admin-table th{color:var(--muted);font-size:13px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover td{background:rgba(255,255,255,.04);text-decoration:underline;-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand);text-underline-offset:4px}.admin-name{color:var(--text);font-weight:650;text-decoration:none}.admin-table tbody tr:hover .admin-name{text-decoration:underline;-webkit-text-decoration-color:var(--sand);text-decoration-color:var(--sand);text-underline-offset:4px}.admin-muted{color:var(--muted)}.admin-ok{color:#9ad37a}.admin-sticky{position:-webkit-sticky;position:sticky;z-index:5;top:0;margin:0 -8px 18px;padding:16px 8px 14px;background:var(--bg)}.admin-sticky .admin-muted{margin:6px 0 0;font-size:14px}.admin-tabs{display:flex;gap:10px;margin-top:14px}.admin-tab{padding:11px 22px;border:1px solid var(--orange);border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:15px;font-weight:650;cursor:pointer}.admin-tab.is-on{background:var(--orange);color:var(--white)}.admin-tab:hover{box-shadow:0 0 18px rgba(255,255,255,.25)}.admin-summary p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.admin-q .q-label{margin-bottom:10px}.admin-answer{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.45}.journal{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.5}.journal>li{margin-top:6px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.04);overflow-wrap:anywhere}.journal>li.j-warn{background:rgba(255,90,90,.12)}.j-tag{display:inline-block;margin-right:8px;color:var(--sand);font-weight:700}.j-warn .j-tag{color:#ff8a7a}.j-sub{margin:4px 0 0;padding-left:18px}.j-note,.j-sub{color:var(--muted)}.j-empty,.j-note{font-size:13px}.j-empty{margin:0;color:var(--locked-text)}.admin-history{width:100%;border-collapse:collapse;font-size:14px}.admin-history td,.admin-history th{padding:7px 10px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.07)}.admin-history th{color:var(--muted);font-size:12px;font-weight:650}.admin-history tr.is-erased td{color:#ff8a7a}.admin-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}@media (max-width:720px){.screen{padding:48px 16px 56px}.card{padding:44px 20px 28px;border-radius:22px}.mark{left:16px}.lead{font-size:18px}.hint{max-width:none}.menu-back{position:static;transform:none;margin:0 auto 16px}.form-column{width:min(680px,100%)}.excel{width:100%;margin-left:0}}.admin-head .admin-count{flex:1 1}.mark-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.mark-filters .admin-tab{display:inline-flex;align-items:center;gap:7px}.mark-count{opacity:.65;font-weight:500}.mark-dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);box-sizing:border-box;flex:none}.mark-dot.is-green{background:#3fbf5f;border-color:#3fbf5f}.mark-dot.is-red{background:#e5484d;border-color:#e5484d}.mark-picker{position:relative;display:inline-block}.mark-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.mark-button:hover{background:rgba(255,255,255,.08)}.mark-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;display:flex;flex-direction:column;min-width:210px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#26262a;box-shadow:0 12px 32px rgba(0,0,0,.5)}.mark-menu.is-right{left:auto;right:0}.mark-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:15px;text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap}.mark-item:hover{background:rgba(255,255,255,.08)}.mark-item.is-off{opacity:.45;cursor:default}.mark-item.is-off:hover{background:transparent}.admin-table tbody tr:hover td .admin-ghost,.admin-table tbody tr:hover td .mark-item{text-decoration:none}.admin-table .col-mark{width:52px;padding-right:0}.admin-table .col-dl{width:1%;text-align:right;white-space:nowrap}.admin-small{display:inline-block;padding:6px 13px;font-size:13px}.admin-warn-text{margin:0 0 12px;color:#ff8a8a;font-size:14px}.admin-table{overflow:visible}.admin-table thead th:first-child{border-top-left-radius:18px}.admin-table thead th:last-child{border-top-right-radius:18px}.admin-table tbody tr:last-child td:first-child{border-bottom-left-radius:18px}.admin-table tbody tr:last-child td:last-child{border-bottom-right-radius:18px}.tab-badge{margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(255,90,90,.9);color:#fff;font-size:12px;font-weight:700}.copy-log{border:1px solid rgba(255,90,90,.35)}.copy-log .journal strong{color:var(--text)}.excel-hint{position:fixed;z-index:29;max-width:min(640px,calc(100vw - 24px));padding:10px 14px;border:1px solid #c7e3cf;border-radius:10px;background:#e8f5ec;box-shadow:0 8px 20px rgba(0,0,0,.14);color:#1b3a26;font-size:15px;line-height:1.5;pointer-events:none}.excel-hint-name{font-weight:700}.excel-hint-arg{padding:1px 6px;border-radius:6px;color:#3d5a47}.excel-hint-arg.is-now{background:#137333;color:#fff;font-weight:700}.sheet td.is-edit.is-invalid,.sheet td.is-invalid{background:#ffe3e3;outline:2px solid #e5484d;outline-offset:-2px}