:root {
  --ink: #24302f;
  --muted: #79817f;
  --cream: #f5f1e8;
  --panel: #fffdfa;
  --line: #dedbd2;
  --green: #16775c;
  --gap: #df665c;
  --gap-soft: #fbe6e2;
  --choice: #4e75c8;
  --choice-soft: #e8eefb;
  --match: #b48322;
  --match-soft: #fbf0d8;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--cream); font-family: "DM Sans", sans-serif; }
body.auth-pending > .topbar, body.auth-pending > main, body:not(.authenticated) > .topbar, body:not(.authenticated) > main { display: none; }
body.auth-pending>.auth-view{display:none}.auth-loading{display:none}body.auth-pending>.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:linear-gradient(145deg,#f6f2e8,#e8f0e9)}.loading-bar{width:90px;height:3px;overflow:hidden;background:#dce2dc;border-radius:4px}.loading-bar i{width:45%;height:100%;display:block;background:var(--green);border-radius:4px;animation:auth-loading 1s ease-in-out infinite}@keyframes auth-loading{0%{transform:translateX(-110%)}100%{transform:translateX(230%)}}body.public-mode>.auth-loading{display:none!important}
body.authenticated .auth-view { display: none; }
body.view-dashboard #editorView, body.view-dashboard .editor-action { display: none; }
body.view-editor #dashboardView { display: none; }
body.view-editor{height:100vh;overflow:hidden}body.view-editor #editorView{height:calc(100vh - 72px);padding:14px clamp(22px,4vw,65px) 18px;display:flex;flex-direction:column;overflow:hidden}body.view-editor .worksheet-path{flex:0 0 auto}body.view-editor .workspace{flex:1;min-height:0}body.view-editor .panel{height:100%;display:flex;flex-direction:column}body.view-editor .editor{flex:1;min-height:0;overflow:auto}body.view-editor .preview-panel .paper{flex:1;min-height:0;overflow:auto}body.view-editor .toolbar,body.view-editor .panel-head,body.view-editor .editor-foot{flex:0 0 auto}
body:not(.view-tracking) #trackingView{display:none}body.view-tracking #dashboardView,body.view-tracking #editorView{display:none}.tracking-button span{color:#2baa7d}.tracking-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.tracking-head h1{margin:7px 0 4px;font-size:34px}.tracking-head p{margin:0;color:var(--muted);font-size:12px}.tracking-live{display:flex;align-items:center;gap:7px;color:var(--green);font-size:9px;font-weight:800;letter-spacing:.12em}.tracking-live i{width:8px;height:8px;background:#2fab7e;border-radius:50%;box-shadow:0 0 0 5px #e2f3ec;animation:tracking-pulse 1.7s infinite}@keyframes tracking-pulse{50%{box-shadow:0 0 0 9px rgba(47,171,126,0)}}.tracking-panel{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 30px rgba(49,57,54,.05)}.tracking-columns,.tracking-row{display:grid;grid-template-columns:1fr 1.2fr 1.4fr .8fr 110px;align-items:center;gap:15px}.tracking-columns{padding:12px 20px;color:#999f9d;background:#faf9f5;border-bottom:1px solid var(--line);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tracking-row{min-height:72px;padding:12px 20px;border-bottom:1px solid #eceae4;font-size:10px}.tracking-person{display:grid}.tracking-person b{font-size:11px}.tracking-person small,.tracking-time{color:var(--muted);font-size:9px}.progress-wrap{display:grid;grid-template-columns:1fr 38px;align-items:center;gap:9px}.progress-bar{height:7px;overflow:hidden;background:#e7e8e3;border-radius:5px}.progress-bar i{height:100%;display:block;background:var(--green);border-radius:5px}.tracking-result{font-weight:800}.tracking-result.done{color:var(--green)}.tracking-empty{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);font-size:11px}
button, input, select { font: inherit; }
button { color: inherit; }
.topbar { height: 72px; padding: 0 clamp(24px, 5vw, 80px); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 80; background: rgba(255,253,250,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ink); font-size: 18px; font-weight: 500; }
.brand b { color: var(--green); }
.brand-copy{display:grid;line-height:1}.brand-copy small{width:100%;margin-top:4px;display:flex;justify-content:space-between;color:#8c9391;font-size:7px;font-weight:700;text-transform:uppercase}
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; color: white; background: var(--green); border-radius: 10px 4px 10px 4px; font: 800 19px Manrope; transform: rotate(-2deg); }
.top-actions { display: flex; gap: 10px; }
.user-menu{position:relative}.user-avatar{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;color:white;background:var(--green);font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(22,119,92,.2)}.user-avatar:hover{background:#105f49}.user-dropdown{width:245px;padding:15px;position:absolute;top:48px;right:0;z-index:100;color:var(--ink);background:#fffefa;border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 45px rgba(28,36,33,.18)}.user-dropdown-label{display:block;margin-bottom:5px;color:#9ba09f;font-size:8px;font-weight:800;letter-spacing:.12em}.user-email{display:block;overflow:hidden;padding-bottom:13px;border-bottom:1px solid #ebe8e1;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.user-dropdown button{width:100%;margin-top:8px;padding:9px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;color:#a44741;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.user-dropdown button:hover{background:var(--gap-soft)}
.button { border: 0; border-radius: 9px; padding: 10px 18px; font-weight: 700; cursor: pointer; transition: .2s ease; }
.button:hover { transform: translateY(-1px); }
.button-ghost { background: transparent; color: #626b69; }
.button-primary { background: var(--green); color: white; box-shadow: 0 5px 14px rgba(22,119,92,.18); }
main { max-width: 1450px; margin: 0 auto; padding: 56px clamp(22px, 4vw, 65px) 70px; }
.dashboard-hero { min-height: 190px; padding: 38px 45px; display: flex; align-items: center; justify-content: space-between; gap: 25px; position: relative; overflow: hidden; color: white; background: linear-gradient(125deg, #155f4b, #20866a); border-radius: 18px; box-shadow: 0 15px 35px rgba(22,119,92,.16); }
.dashboard-hero::after { content: ""; width: 290px; height: 290px; position: absolute; right: -80px; top: -145px; border: 45px solid rgba(255,255,255,.06); border-radius: 50%; }
.dashboard-hero .eyebrow { color: #a9dac9; }.dashboard-hero h1 { margin: 9px 0 5px; font-size: 38px; }.dashboard-hero h1 em { color: #fff; }.dashboard-hero p { margin: 0; color: #c6e2d8; font-size: 14px; }
.dashboard-primary { padding: 13px 20px; position: relative; z-index: 1; color: var(--green); background: white; box-shadow: 0 8px 24px rgba(5,56,42,.18); }.dashboard-primary span { margin-right: 6px; font-size: 18px; }
.stats-grid { margin: 22px 0 38px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.stat-card { padding: 21px 23px; display: flex; align-items: center; gap: 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 13px; box-shadow: 0 8px 25px rgba(49,57,54,.04); }.stat-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 10px; font-size: 18px; }.green-stat { color: var(--green); background: #e3f0eb; }.blue-stat { color: var(--choice); background: var(--choice-soft); }.gold-stat { color: var(--match); background: var(--match-soft); }.stat-card div { display: grid; }.stat-card strong { font: 800 23px Manrope; }.stat-card small { color: var(--muted); font-size: 10px; }
.dashboard-content { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(270px, .7fr); gap: 22px; }.section-title h2, .tips-card h2 { margin: 6px 0 17px; font: 800 21px Manrope; }.worksheet-card { min-height: 230px; padding: 22px; display: grid; grid-template-columns: 230px 1fr; gap: 26px; background: var(--panel); border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 10px 30px rgba(49,57,54,.05); }.worksheet-preview { padding: 28px 25px; display: flex; flex-direction: column; background: #ece9df; border-radius: 9px; }.worksheet-preview span { color: var(--green); font-size: 7px; font-weight: 800; letter-spacing: .14em; }.worksheet-preview b { margin: 13px 0 18px; font: 800 14px Manrope; }.worksheet-preview i { width: 100%; height: 5px; margin-bottom: 9px; background: #d6d3ca; border-radius: 5px; }.worksheet-preview i:last-child { width: 65%; }.worksheet-info { align-self: center; }.draft-badge { padding: 5px 8px; color: #8a681d; background: var(--match-soft); border-radius: 5px; font-size: 8px; font-weight: 800; letter-spacing: .08em; }.worksheet-info h3 { margin: 14px 0 5px; font: 800 20px Manrope; }.worksheet-info p { margin: 0 0 22px; color: var(--muted); font-size: 11px; }.worksheet-info button { padding: 0; border: 0; color: var(--green); background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }.worksheet-info button span { margin-left: 5px; }
.tips-card { padding: 28px; position: relative; overflow: hidden; background: #fffaf0; border: 1px solid #e5dbc5; border-radius: 15px; }.tips-symbol { width: 38px; height: 38px; margin-bottom: 22px; display: grid; place-items: center; color: var(--match); background: var(--match-soft); border-radius: 10px; }.tips-card ol { margin: 0; padding: 0; display: grid; gap: 17px; list-style: none; counter-reset: tips; }.tips-card li { padding-left: 36px; display: grid; position: relative; counter-increment: tips; }.tips-card li::before { content: counter(tips); width: 23px; height: 23px; display: grid; place-items: center; position: absolute; left: 0; color: var(--green); background: #e4f0eb; border-radius: 50%; font-size: 9px; font-weight: 800; }.tips-card li b { font-size: 11px; }.tips-card li small { margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 35px; margin-bottom: 36px; }
.eyebrow { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
h1 { margin: 10px 0 8px; font: 800 clamp(32px, 4vw, 51px)/1.08 Manrope; letter-spacing: -.045em; }
h1 em { color: var(--green); font-style: normal; }
.intro p { margin: 0; color: var(--muted); font-size: 15px; }
.legend { display: flex; gap: 20px; padding-bottom: 7px; white-space: nowrap; color: #69716f; font-size: 12px; font-weight: 600; }
.legend span { display: flex; align-items: center; gap: 7px; }
.dot { width: 9px; height: 9px; border-radius: 50%; }
.gap-dot { background: var(--gap); } .choice-dot { background: var(--choice); } .match-dot { background: var(--match); }
.workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.worksheet-path{min-height:34px;margin-bottom:14px;display:flex;align-items:center;gap:7px;color:#9a9f9d;font-size:10px}.worksheet-path button{padding:3px;border:0;color:var(--green);background:transparent;font-weight:700;cursor:pointer}.worksheet-path b{color:var(--ink);font-weight:800}.worksheet-path span{color:#b3b6b5}
.panel { min-width: 0; overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 13px 35px rgba(49,57,54,.06); }
.panel-head { min-height: 74px; padding: 17px 21px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.panel-head > div { display: flex; align-items: center; gap: 12px; }
.panel-head h2 { margin: 0; font: 700 16px Manrope; }
.panel-actions{display:flex;align-items:center;gap:7px}.panel-button{padding:8px 11px;font-size:9px}
.step { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #e5efe9; color: var(--green); font-size: 10px; font-weight: 800; }
.hint { display: flex; gap: 7px; align-items: center; color: #8a908f; font-size: 11px; }
.mouse-icon { font-size: 16px; color: #596462; }
.live { display: flex; align-items: center; gap: 6px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.live i { width: 7px; height: 7px; border-radius: 50%; background: #37a77d; box-shadow: 0 0 0 4px #e5f5ef; }
.toolbar { height: 47px; padding: 7px 18px; display: flex; gap: 4px; align-items: center; background: #faf9f5; border-bottom: 1px solid var(--line); }
.toolbar button, .color-tool { width: 31px; height: 31px; display: grid; place-items: center; border: 0; border-radius: 6px; background: transparent; cursor: pointer; position: relative; }
.toolbar button:hover, .color-tool:hover { background: #ebe9e2; }
.separator { height: 20px; width: 1px; margin: 0 6px; background: var(--line); }
.color-tool input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.color-tool i { position: absolute; bottom: 3px; width: 15px; height: 3px; background: var(--ink); }
.editor { min-height: 430px; padding: 28px 32px; outline: none; font: 400 16px/2 "DM Sans"; caret-color: var(--green); }
.editor:focus { box-shadow: inset 0 0 0 2px rgba(22,119,92,.1); }
.editor p { margin: 0 0 20px; }
.task-mark { padding: 2px 3px; position:relative;border-radius:4px;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,top .16s ease;box-decoration-break:clone;-webkit-box-decoration-break:clone}.task-mark:hover{top:-1px;box-shadow:0 0 0 3px rgba(36,48,47,.16),0 4px 10px rgba(36,48,47,.13)}.task-gap:hover{background:#f7cdc8}.task-choice:hover{background:#d4dff7}.task-match:hover{background:#f3dfb5}
.task-gap { color: #b63c35; background: var(--gap-soft); border-bottom: 2px solid var(--gap); }
.task-choice { color: #355ba8; background: var(--choice-soft); border-bottom: 2px solid var(--choice); }
.task-match { color: #90630d; background: var(--match-soft); border-bottom: 2px solid var(--match); }
.editor-foot { padding: 11px 20px; display: flex; justify-content: space-between; color: #999e9d; background: #faf9f5; border-top: 1px solid var(--line); font-size: 10px; }
.task-counts{display:flex;align-items:center;gap:14px}.task-counts>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.task-counts i{width:6px;height:6px;border-radius:50%}.task-counts b{color:var(--ink);font-size:10px}.gap-count i{background:var(--gap)}.choice-count i{background:var(--choice)}.match-count i{background:var(--match)}
.preview-panel { background: #ece9df; }
.preview-panel .panel-head { background: var(--panel); }
.paper { margin: 29px; min-height: 470px; padding: 39px 44px 35px; position: relative; background: #fffefa; border-radius: 3px; box-shadow: 0 4px 17px rgba(41,47,44,.08); }
.paper::after { content: ""; position: absolute; top: 0; right: 0; border-style: solid; border-width: 0 27px 27px 0; border-color: transparent #dad7ce transparent transparent; }
.paper-label { margin-bottom: 16px; color: var(--green); font-size: 9px; letter-spacing: .17em; font-weight: 800; }
.paper h3 { margin: 0 0 9px; font: 800 23px Manrope; letter-spacing: -.03em; }
.instruction { margin: 0 0 26px; padding-bottom: 22px; color: #8b9290; font-size: 11px; line-height: 1.6; border-bottom: 1px solid #e6e3dc; }
.preview-text { font-size: 14px; line-height: 2.3; }
.preview-text p { margin: 0 0 17px; }
.answer-gap, .drop-zone { width: 112px; height: 30px; display: inline-flex; vertical-align: middle; margin: 0 4px; border: 0; border-bottom: 2px solid var(--gap); background: var(--gap-soft); color: #943e38; border-radius: 4px 4px 0 0; text-align: center; outline: none; }
.answer-gap:focus { box-shadow: 0 0 0 3px rgba(223,102,92,.14); }
.answer-choice { max-width: 150px; height: 30px; margin: 0 4px; padding: 0 27px 0 10px; border: 1px solid #9db0db; border-radius: 5px; background: var(--choice-soft); color: #36558f; outline: none; }
.drop-zone { align-items: center; justify-content: center; border: 1px dashed #c79941; background: var(--match-soft); color: #93640b; font-size: 10px; }
.drop-zone.drag-over { background: #f4dfb5; transform: scale(1.03); }
.word-bank { margin-top: 28px; padding-top: 18px; border-top: 1px dashed #d8d5cb; }
.word-bank > span { display: block; margin-bottom: 11px; color: #9a8a69; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
#wordBankItems { display: flex; flex-wrap: wrap; gap: 8px; }
.word-chip { padding: 7px 13px; border: 1px solid #dbbc7d; border-radius: 5px; background: var(--match-soft); color: #835b0c; font-size: 11px; font-weight: 700; cursor: grab; }
.word-chip:active { cursor: grabbing; }
.word-chip.used { opacity: .35; pointer-events: none; }
.correct { outline: 2px solid #45a77f !important; outline-offset: 1px; }
.incorrect { outline: 2px solid #db655c !important; outline-offset: 1px; }
.result-message { min-height: 22px; margin-top: 20px; color: var(--green); font-size: 12px; font-weight: 700; }
.context-menu { position: fixed; z-index: 100; width: 246px; padding: 7px; background: #fffefa; border: 1px solid #dcd9d0; border-radius: 11px; box-shadow: 0 16px 45px rgba(28,36,33,.18); }
.menu-head { padding: 9px 11px 7px; color: #9a9f9d; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.context-menu button { width: 100%; padding: 9px 8px; display: flex; align-items: center; gap: 10px; border: 0; border-radius: 7px; background: transparent; text-align: left; cursor: pointer; }
.context-menu button:hover { background: #f4f2ec; }
.context-menu button span { display: flex; flex-direction: column; gap: 2px; }
.context-menu button b { font-size: 12px; }
.context-menu button small { color: #9a9f9d; font-size: 9px; }
.menu-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; font-size: 11px; font-style: normal; font-weight: 800; }
.gap-icon { color: var(--gap); background: var(--gap-soft); }.choice-icon { color: var(--choice); background: var(--choice-soft); }.match-icon { color: var(--match); background: var(--match-soft); }
.remove-mark { margin-top: 5px; border-top: 1px solid #eeeae3 !important; color: #9a615d; }
.remove-mark i { width: 28px; text-align: center; font-size: 18px; font-style: normal; }
.auth-view { min-height: 100vh; padding: 30px; display: grid; place-items: center; position: relative; overflow: hidden; background: linear-gradient(145deg, #f6f2e8 0%, #e8f0e9 100%); }
.auth-decoration { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .65; }
.auth-decoration-one { width: 390px; height: 390px; top: -170px; right: -90px; background: #bdd8c8; }
.auth-decoration-two { width: 280px; height: 280px; bottom: -120px; left: -65px; background: #ead6b3; }
.auth-card { width: min(100%, 445px); padding: 38px 42px 30px; position: relative; z-index: 1; background: rgba(255,253,250,.96); border: 1px solid rgba(214,211,201,.9); border-radius: 20px; box-shadow: 0 28px 80px rgba(44,65,57,.14); }
.auth-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 34px; font-size: 17px; }
.auth-brand b { color: var(--green); }
.auth-copy h1 { margin: 9px 0 9px; font-size: 31px; }
.auth-copy p { margin: 0 0 26px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 23px; padding: 4px; background: #efeee8; border-radius: 10px; }
.auth-tabs button { padding: 9px; border: 0; border-radius: 7px; background: transparent; color: #7d8482; font-size: 12px; font-weight: 700; cursor: pointer; }
.auth-tabs button.active { color: var(--green); background: #fff; box-shadow: 0 2px 7px rgba(39,50,46,.08); }
.auth-form { display: grid; gap: 15px; }
.auth-form label { display: grid; gap: 7px; color: #596260; font-size: 11px; font-weight: 700; }
.auth-form input { width: 100%; padding: 12px 13px; border: 1px solid #d9d8d1; border-radius: 8px; background: #fff; color: var(--ink); outline: none; }
.auth-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(22,119,92,.1); }
.auth-submit { width: 100%; margin-top: 4px; padding: 12px; }
.auth-submit:disabled { opacity: .65; cursor: wait; }
.auth-message { min-height: 18px; margin: 0; color: var(--green); font-size: 11px; line-height: 1.5; }
.auth-message.error { color: #b34c45; }
.auth-note { margin: 17px 0 0; color: #a0a5a3; font-size: 9px; text-align: center; }
@media (max-width: 900px) { .workspace { grid-template-columns: 1fr; } .intro { align-items: flex-start; flex-direction: column; } .editor { min-height: 310px; } .dashboard-content { grid-template-columns: 1fr; } }
@media (max-width: 900px) { body.view-editor .workspace { grid-template-rows: minmax(0,1fr) minmax(0,1fr); } body.view-editor .editor { min-height: 0; } }
@media (max-width: 560px) { .topbar { padding: 0 17px; } .top-actions { gap: 2px; } main { padding: 34px 14px; } .hint { display: none; } .paper { margin: 15px; padding: 30px 22px; } .editor { padding: 22px; } .auth-view { padding: 15px; } .auth-card { padding: 30px 24px 24px; } }
@media (max-width: 650px) { .dashboard-hero { padding: 30px 25px; align-items: flex-start; flex-direction: column; }.dashboard-hero h1 { font-size: 31px; }.stats-grid { grid-template-columns: 1fr; }.worksheet-card { grid-template-columns: 1fr; }.worksheet-preview { min-height: 150px; }.dashboard-content { grid-template-columns: 1fr; } }
.file-title { display:flex;align-items:flex-end;justify-content:space-between;gap:15px }.file-actions{display:flex;gap:8px}.file-actions .button{padding:9px 12px;font-size:10px}.file-explorer{min-height:310px;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 30px rgba(49,57,54,.05)}.breadcrumbs{min-height:49px;padding:11px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.breadcrumbs button{padding:5px;border:0;color:var(--green);background:transparent;font-size:10px;font-weight:800;cursor:pointer}.breadcrumbs span{color:#aaa}.file-columns,.file-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px 90px 125px;align-items:center}.file-columns{padding:9px 16px;color:#989e9c;background:#faf9f5;border-bottom:1px solid var(--line);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.file-row{min-height:68px;padding:8px 16px;border-bottom:1px solid #eeece6}.file-row:hover{background:#fbfaf6}.file-name{padding:0;display:flex;align-items:center;gap:11px;border:0;background:transparent;text-align:left;cursor:pointer}.file-name span{display:grid}.file-name b{font-size:11px}.file-name small,.file-kind,.file-row time{color:var(--muted);font-size:9px}.file-type-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:8px;font-style:normal}.file-type-icon.folder{color:var(--match);background:var(--match-soft)}.file-type-icon.worksheet{color:var(--choice);background:var(--choice-soft)}.row-actions{display:flex;gap:3px;justify-content:flex-end}.row-actions button{width:27px;height:27px;border:0;border-radius:5px;color:#737b79;background:transparent;cursor:pointer}.row-actions button:hover{background:#eceae4}.row-actions .delete-action{color:var(--gap)}.file-empty,.file-loading,.file-error{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;text-align:center}.file-empty span{font-size:25px}.file-empty b,.file-error b{color:var(--ink);font-size:12px}.file-error{padding:25px;color:var(--gap)}
.app-dialog{width:min(92vw,430px);padding:0;border:0;border-radius:16px;color:var(--ink);background:var(--panel);box-shadow:0 25px 80px rgba(28,36,33,.25)}.app-dialog::backdrop{background:rgba(27,36,33,.55);backdrop-filter:blur(2px)}.app-dialog form{padding:30px}.app-dialog h2{margin:7px 0 22px;font:800 22px Manrope}.app-dialog label{display:grid;gap:7px;color:#626a68;font-size:10px;font-weight:800}.app-dialog input,.app-dialog select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:white;outline:none}.dialog-actions{margin-top:24px;display:flex;justify-content:flex-end;gap:8px}.dialog-error{min-height:15px;margin:7px 0 0;color:var(--gap);font-size:10px}.danger-symbol{width:43px;height:43px;margin-bottom:15px;display:grid;place-items:center;color:white;background:var(--gap);border-radius:50%;font:800 20px Manrope}.danger-dialog p{color:var(--muted);font-size:12px;line-height:1.6}.danger-notice{padding:11px;color:#a23e37;background:var(--gap-soft);border-radius:7px;font-size:10px;font-weight:800}.button-danger{color:white;background:#c94940}
@media(max-width:700px){.file-title{align-items:flex-start;flex-direction:column}.file-columns{display:none}.file-row{grid-template-columns:1fr auto}.file-kind,.file-row time{display:none}.row-actions{grid-column:2}.file-actions{width:100%}.file-actions .button{flex:1}}
@media(max-width:700px){.editor-foot{gap:7px;flex-wrap:wrap}.task-counts{gap:7px;font-size:9px}}
.dashboard-content{grid-template-columns:1fr;margin-top:32px}
.breadcrumbs:empty{display:none}
.file-type-icon.pdf{color:#bc443d;background:var(--gap-soft);font-size:8px;font-weight:800}
.stop-action{color:#b83f38!important;background:var(--gap-soft)!important}.stop-action:hover{background:#f5d4d0!important}
.workspace-notice{max-width:380px;padding:13px 17px;position:fixed;right:22px;bottom:22px;z-index:300;color:white;background:var(--green);border-radius:9px;box-shadow:0 12px 35px rgba(28,36,33,.22);font-size:11px;font-weight:700;opacity:0;pointer-events:none;transform:translateY(15px);transition:.2s ease}.workspace-notice.error{background:#bd4d45}.workspace-notice.visible{opacity:1;transform:translateY(0)}
.admin-mode>.auth-loading,.admin-mode>.auth-view,.admin-mode>.topbar,.admin-mode>#dashboardView,.admin-mode>#trackingView,.admin-mode>#editorView,.admin-mode>#publicWorksheetView{display:none!important}.admin-mode #adminView{display:block!important}.admin-view{max-width:none;min-height:100vh;padding:55px clamp(22px,6vw,90px);background:var(--cream)}.admin-login{width:min(100%,420px);margin:5vh auto;padding:36px;background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:0 20px 60px rgba(35,50,44,.12)}.admin-login .auth-brand{margin-bottom:35px}.admin-login h1{margin:8px 0 25px;font-size:30px}.admin-login form{display:grid;gap:15px}.admin-login label{display:grid;gap:7px;color:#606866;font-size:10px;font-weight:800}.admin-login input{padding:12px;border:1px solid var(--line);border-radius:8px;outline:none}.admin-login input:focus{border-color:var(--green)}#adminError{min-height:15px;margin:0;color:var(--gap);font-size:10px}.admin-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.admin-head h1{margin:6px 0 0;font-size:35px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.admin-stats article,.admin-card{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 25px rgba(49,57,54,.04)}.admin-stats article{display:grid;gap:8px}.admin-stats span{color:var(--muted);font-size:10px}.admin-stats b{font:800 29px Manrope}.admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.admin-card h2{margin:0 0 22px;font:800 16px Manrope}.visit-chart{height:230px;display:flex;align-items:flex-end;gap:5px}.visit-chart>div{height:100%;min-width:12px;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:6px}.visit-chart i{width:100%;max-width:22px;background:var(--green);border-radius:4px 4px 0 0}.visit-chart small{color:var(--muted);font-size:7px;transform:rotate(-45deg)}.top-paths{margin:0;padding:0;display:grid;gap:10px;list-style:none}.top-paths li{padding-bottom:9px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ebe8e1;font-size:10px}.top-paths span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-paths b{color:var(--green)}@media(max-width:800px){.admin-stats{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}@media(max-width:480px){.admin-stats{grid-template-columns:1fr}.admin-view{padding:30px 14px}}
.participant-gate{max-width:440px;margin:45px auto;text-align:center}.participant-gate h1{margin:10px 0 7px}.participant-gate>p{color:var(--muted);font-size:12px}.participant-gate form{margin-top:25px;padding:24px;display:grid;gap:14px;background:#faf9f5;border:1px solid var(--line);border-radius:12px;text-align:left}.participant-gate label{display:grid;gap:7px;font-size:10px;font-weight:800}.participant-gate input{padding:12px;border:1px solid var(--line);border-radius:8px;outline:none}.participant-gate #participantError{min-height:15px;color:var(--gap);font-size:10px}.participant-banner{margin-bottom:25px;padding:9px 12px;display:flex;justify-content:space-between;color:var(--green);background:#e4f0eb;border-radius:7px;font-size:10px}.participant-banner span{color:var(--muted)}
.file-columns,.file-row{grid-template-columns:minmax(180px,1fr) 90px 90px 185px}.file-row.live-row{background:#e1f2e9;border-color:#b9dfcc}.file-row.live-row:hover{background:#d6ecdf}.play-action{color:var(--green)!important}.qr-dialog-content{padding:30px;text-align:center}.qr-dialog h2{margin:7px 0 18px;font:800 22px Manrope}.qr-code{width:244px;min-height:244px;margin:0 auto 15px;padding:12px;background:white;border:1px solid var(--line);border-radius:10px}.qr-code img,.qr-code canvas{display:block!important;width:220px!important;height:220px!important}.qr-dialog p{color:var(--muted);font-size:10px}.qr-copy-status{display:block;min-height:16px;margin-top:8px;color:var(--green);font-size:10px}.file-context-menu{width:175px;padding:6px;position:fixed;z-index:150;background:#fffefa;border:1px solid var(--line);border-radius:9px;box-shadow:0 16px 45px rgba(28,36,33,.2)}.file-context-menu button{width:100%;padding:8px 10px;border:0;border-radius:5px;background:transparent;text-align:left;font-size:10px;cursor:pointer}.file-context-menu button:hover{background:#efede7}.file-context-menu hr{margin:5px;border:0;border-top:1px solid #ebe8e1}.file-context-menu .danger-menu-action{color:var(--gap)}
.qr-code img{display:none!important}.public-mode>.auth-view,.public-mode>.topbar,.public-mode>#dashboardView,.public-mode>#editorView{display:none!important}.public-mode #publicWorksheetView{display:block!important}.public-worksheet-view{max-width:none;min-height:100vh;padding:45px 20px;background:#e8e6de}.public-sheet{width:min(100%,820px);min-height:620px;margin:auto;padding:42px 55px;background:#fffefa;border-radius:5px;box-shadow:0 15px 50px rgba(35,45,41,.12)}.public-sheet-head{display:flex;align-items:center;gap:10px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:14px}.public-sheet-head b{color:var(--green)}.public-content{padding-top:35px}.public-content h1{margin:8px 0 30px;font-size:30px}.public-preview{font-size:15px}.public-bank{display:flex;flex-wrap:wrap;gap:8px}.public-actions{margin-top:30px;padding-top:20px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line)}.public-unavailable{min-height:420px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.public-unavailable span{width:48px;height:48px;display:grid;place-items:center;color:var(--gap);background:var(--gap-soft);border-radius:50%}.public-unavailable h1{margin:18px 0 7px}.public-unavailable p{color:var(--muted);font-size:12px}@media(max-width:600px){.public-worksheet-view{padding:0}.public-sheet{min-height:100vh;padding:28px 20px}.public-content h1{font-size:24px}}
