/* Shared palette. Documents, QR codes and drawing canvases retain their source colours. */
:root{--ink:#283f49;--green:#087b80;--green-dark:#155c65;--mint:#def6f3;--cream:#fff7fb;--paper:#fff;--coral:#b93070;--coral-soft:#fde7f0;--line:#ead8e3;--muted:#646879;--shadow:0 18px 50px rgba(122,40,88,.09)}
body{background:radial-gradient(circle at 5% 8%,#f9d6e899,transparent 32rem),radial-gradient(circle at 95% 30%,#bcefe799,transparent 32rem),var(--cream)}
.brand-mark{background:linear-gradient(140deg,#ad326c,#147d83);box-shadow:inset -6px -6px 0 #ffffff22}
.eyebrow{color:#a82e67}
.primary,.timer-start{background:#ac306a;color:#fff}
.primary:hover{background:#912355}
.tool-tab.active,.tool-tab:hover{border-color:#cf85a9;background:#fff4fa}
.tool-icon,.tool-icon.referential{background:#def6f3;color:#11636b}
.referential-hero,.folder-public-hero,.public-hero,.welcome{background:linear-gradient(120deg,#85325e,#a43d74 48%,#70439a);color:#fff;box-shadow:0 22px 55px #94386522}
.welcome{padding:36px;border-radius:28px}
.welcome h1,.welcome p,.welcome .eyebrow{color:#fff0f8}
.welcome .pse-badge{background:#ffffff14;border-color:#ffffff40}
.welcome .pse-badge b,.welcome .pse-badge span{color:#fff0f8}
.public-hero h1,.public-hero p,.folder-public-hero p{color:#fff}
.public-hero{background:linear-gradient(120deg,#85325e,#a43d74 48%,#70439a)}
.referential-hero h1 em,.referential-hero-card>span{color:#f6d5ef}
.referential-hero .eyebrow,.folder-public-hero .eyebrow,.public-hero .eyebrow{color:#f6d5ef}
.referential-hero p:not(.eyebrow),.referential-hero-card small{color:#fff0f8}
.referential-levels{background:#fceaf3}
.referential-levels button.active,.page-jump button:hover,.hours-level>header span{background:#a82e67;color:#fff}
.hours-level>header{background:linear-gradient(110deg,#fff0f7,#effbf9)}
.hours-level>header>strong,.hours-module strong{color:#a82e67}
.hours-module>span,.referential-page summary>span{background:#dff6f2;color:#12626b}
.hours-module:hover{background:#fff3f9;box-shadow:inset 0 0 0 2px #e9b4cd}
.identity-badge.teacher{background:#fce4f0;color:#872653;border-color:#e7accb}
.timer-page{background:radial-gradient(ellipse at top,#a74378,transparent 70%),linear-gradient(145deg,#53334e,#70439a);color:white}
.official-facsimile{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:8px}
.official-facsimile a{display:block;min-width:680px}
.official-facsimile img{display:block;width:100%;height:auto;background:white}
.official-copy .verbatim-notice{background:#e5f8f4;color:#155e66}
.official-copy .verbatim-notice span{color:#376970}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #16878d;outline-offset:3px}
.link-archive{margin-top:18px;border:1px solid #e5cbd9;border-radius:16px;background:#fff5fa;overflow:hidden}.link-archive summary{padding:15px 17px;color:#872653;font-weight:800;cursor:pointer}.link-archive .link-row{background:#fffafc}
.link-edit{position:relative}.link-edit summary{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;color:var(--green);font-weight:700;cursor:pointer;list-style:none}.link-edit form{position:absolute;right:0;top:42px;z-index:3;display:flex;gap:7px;width:min(420px,70vw);padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px #7a28581f}.link-edit input{min-width:0;padding:8px}
.link-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.link-actions form{margin:0}.link-actions .delete{width:28px;height:28px;padding:0;border:1px solid #e5cbd9;border-radius:8px;color:#a82e67;background:#fff;font-size:20px;line-height:1}.link-actions .delete:hover{background:#fde7f0}
.archive-empty{margin:0;padding:18px;color:var(--muted);font-size:13px}
@media print{body{background:white}.official-facsimile{border:0}.official-facsimile a{min-width:0}}
