@charset "UTF-8";
:root{color-scheme:dark;--ink:#14111f;--text:#f4ede4;--muted:#b6aebf;--gold:#cfb581;--line:rgba(216,192,144,.22);--warmth:#d4a292;--laughter:#e3c889;--knowledge:#b6a4df;font-family:"Segoe UI",Arial,sans-serif;scroll-behavior:smooth;scroll-padding-top:28px}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--ink);color:var(--text);line-height:1.5;overflow-x:clip}button,input{font:inherit}a{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}a,button,input{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #e4c994}::selection{background:#78608c;color:#fff}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:12px;left:12px;z-index:100;background:#f2dfba;color:#21172a;padding:12px}
.room{position:fixed;inset:0;background:linear-gradient(180deg,#120d1955,#17102033 40%,#14111fd9 100%),url('/static/room.webp') center center/cover no-repeat;pointer-events:none;z-index:-1}.site-header{position:absolute;top:0;left:0;width:100%;height:76px;padding:22px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:5}.brand-star{font:32px/1 Georgia,serif;color:#ccb784;opacity:.75}.header-actions{display:flex;align-items:center;gap:24px;font-size:12px}.collection-link{text-decoration:none;color:#ded5e5}.collection-link span{display:inline-grid;place-items:center;min-width:22px;height:22px;border:1px solid var(--line);border-radius:50%;margin-left:7px;font-size:10px;color:var(--gold)}.logout{border:0;background:none;padding:12px 0;color:var(--muted);font-size:12px}.hero{text-align:center;max-width:850px;margin:0 auto;min-height:min(770px,100dvh);padding:60px 22px 36px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:clip}.orb-stage{position:relative;isolation:isolate;width:min(610px,100%);height:clamp(350px,65dvh,540px);flex:none;margin:0 auto;touch-action:pan-y}.orb-halo{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 42%,#8a71ca26,transparent 59%);transition:opacity .8s;pointer-events:none}#orb-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity .6s;pointer-events:none}.webgl-ready #orb-canvas{opacity:1}.orb-fallback{position:absolute;inset:0;transition:opacity .4s}.webgl-ready .orb-fallback{opacity:0;visibility:hidden}.fallback-float{position:absolute;left:50%;top:13%;width:45%;aspect-ratio:1;translate:-50% 0;animation:float 6.5s ease-in-out infinite}.fallback-sphere{width:100%;height:100%;position:relative;border-radius:50%;overflow:hidden;background:repeating-conic-gradient(from 30deg,#b29c7144 0 .35deg,transparent .8deg 49deg),radial-gradient(ellipse at 25% 20%,#baacd8,#514c6b 30%,#25213d 60%,#0c111d);box-shadow:inset -25px -25px 34px #05040dcc,inset 3px 3px 8px #e5d5bb44,0 10px 30px #08041080;animation:weight-turn 36s cubic-bezier(.35,.25,.65,.75) infinite}.fallback-band{position:absolute;inset:0 35%;border:8px double #b99850;border-radius:50%;box-shadow:inset 2px 0 4px #ffe2a755,2px 1px 4px #160d16;transform:rotate(18deg)}.band-b{transform:rotate(-45deg);inset:0 28%}.band-c{inset:40% -4%;transform:rotate(12deg);border-width:9px}.fallback-jewel{position:absolute;width:14%;height:14%;border:3px solid #bea369;background:conic-gradient(#bdb0eb,#4d3178,#a590cb,#2d1849,#bdb0eb);transform:rotate(45deg);top:42%;left:42%;box-shadow:0 0 5px #d9b978}.jewel-b{top:13%;left:35%;width:8%;height:8%}.fallback-pedestal{position:absolute;top:77%;left:50%;width:44%;height:13%;translate:-50% 0;border-radius:50%;background:linear-gradient(#e2c581,#594231 10%,#a68b59 18%,#242031 30%,#352e42 59%,#b49b62 67%,#2c2330 83%,#8a693e 96%);box-shadow:0 15px 22px #05030d99}.fallback-shadow{position:absolute;top:74%;left:50%;translate:-50% 0;width:36%;height:5%;border-radius:50%;background:#0009;filter:blur(12px)}.conjuring .fallback-sphere{animation-play-state:paused}.conjuring .orb-halo{opacity:1;background:radial-gradient(ellipse at 50% 42%,#aa8bdd66,transparent 64%)}
.choices{display:flex;gap:13px;justify-content:center;width:min(470px,100%);margin:-9px auto 0;z-index:2}.choice{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #bfa7c148;border-radius:10px;min-height:87px;padding:10px 16px 13px;background:linear-gradient(150deg,#3a2d43b0,#1a1425db);backdrop-filter:blur(12px);transition:transform .2s,border-color .2s,background .2s;color:var(--warmth)}.choice.laughter{color:var(--laughter)}.choice.knowledge{color:var(--knowledge)}.choice:hover:not(:disabled){transform:translateY(-3px);border-color:currentColor;background:#49344eaa}.choice:active:not(:disabled){transform:translateY(-1px)}.choice>span:not(.choice-icon){font:23px Georgia,serif;color:var(--text)}.choice-icon{font-size:29px;line-height:1.1}.choice-icon.smile{font-size:27px;font-weight:300}.choice.exhausted{opacity:.4;cursor:default}.status{width:min(470px,100%);font-size:11px;color:#edc5b9}.status:empty{display:none}.status.error{margin-top:18px;padding:10px 14px;border:1px solid #b98d7044;border-radius:6px;background:#221a2ad9}.status button{border:0;background:none;text-decoration:underline;color:var(--gold);padding:0 4px}
.login-card{width:min(400px,100%);margin:-5px auto 0;text-align:left;padding:20px 24px 23px;border:1px solid var(--line);border-radius:10px;background:#21192ee6;backdrop-filter:blur(12px);z-index:2}.login-card label{display:block;font-size:11px;color:var(--gold);margin-bottom:9px}.password-row{display:flex;gap:9px}.password-row input{min-width:0;width:100%;min-height:45px;border:1px solid #93809c55;background:#120e1a88;padding:12px;border-radius:5px;color:#f1e8f7;font-size:16px}.password-row button{min-height:45px;border:1px solid #d7ba8066;border-radius:5px;background:#c9ab75;color:#22192c;font-size:12px;white-space:nowrap;padding:11px 17px}.password-row button span{margin-left:8px}.login-error{font-size:12px;color:#f0b5a7;margin-top:12px}.script-error{text-align:center;padding:15px}
.collection{max-width:1040px;margin:0 auto;padding:0 32px 64px}.section-rule{display:flex;align-items:center;gap:20px;color:var(--gold);font-size:15px;margin-bottom:30px}.section-rule:before,.section-rule:after{content:"";flex:1;background:linear-gradient(90deg,transparent,var(--line));height:1px}.section-rule:after{transform:rotate(180deg)}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.collection h2{font:normal 28px/1.2 Georgia,serif}.collection-count{font-size:11px;color:#b8a5ca;white-space:nowrap}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filter{font-size:11px;padding:8px 16px;min-height:36px;border:1px solid #8f7aa32a;border-radius:25px;background:#17112066;color:#a99bb7}.filter.active{color:#e4d1ab;border-color:#ad946350;background:#cfb5810d}.filter:hover{border-color:#c0a98088}.empty-state{text-align:center;padding:28px;color:#9989aa;font-size:12px}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.note{background:linear-gradient(140deg,#eee3cc,#e1d2b5);border-radius:3px 10px 8px 8px;color:#392d3d;padding:24px 22px 20px;box-shadow:0 7px 25px #05020d30;position:relative;overflow-wrap:anywhere;animation:settle .6s ease both}.note:before{content:"";position:absolute;inset:7px;border:1px solid #8f73552b;border-radius:2px 6px 4px 4px;pointer-events:none}.note-label{font-size:9px;letter-spacing:1.4px;color:#7b5a4b;text-transform:uppercase;display:flex;gap:7px;align-items:center}.note-symbol{font-size:22px;line-height:1}.note-body{font:normal 18px/1.55 Georgia,serif;white-space:pre-line;margin:18px 0 22px}.note .test-stamp{font-size:7px;letter-spacing:1px;opacity:.7}.note-time{font-size:9px;color:#9c876e;margin-top:7px}.test-stamp{display:inline-block;border:1px solid #9b796e66;padding:4px 6px;font-size:8px;letter-spacing:1.3px;color:#976c5c}
.reveal{border:0;border-radius:10px;background:transparent;color:#392d3d;padding:0;max-width:min(440px,calc(100vw - 36px));width:440px;overflow:visible;box-shadow:0 0 100px #a28acd40}.reveal::backdrop{background:#100c20b8;backdrop-filter:blur(6px)}.reveal[open]{animation:fly-out .85s cubic-bezier(.16,.75,.2,1) both}.reveal-paper{padding:34px 34px 28px;position:relative;border-radius:7px;background:radial-gradient(ellipse at 20% 0%,#fff9e7,#e8d8b8);text-align:center;max-height:85dvh;overflow:auto}.reveal-paper:before{content:"";position:absolute;inset:10px;border:1px solid #a7845144;border-radius:3px;pointer-events:none}.close-reveal{position:absolute;top:13px;right:14px;border:0;background:transparent;color:#7b685c;font-size:26px;width:36px;height:36px}.paper-label{font-size:9px;color:#96765b;text-transform:uppercase;letter-spacing:2px;margin:6px 0 18px}.paper-symbol{display:block;font-size:39px;color:#936a73;margin-bottom:12px}.reveal-body{font:normal 22px/1.55 Georgia,serif;margin:22px 0;white-space:pre-line;overflow-wrap:anywhere}.paper-button{display:block;margin:25px auto 0;border:1px solid #6c515b33;background:#392a41;color:#f1e4cd;border-radius:6px;padding:12px 20px;font-size:12px;min-height:44px;position:relative}.paper-button span{margin-left:12px}
@keyframes float{50%{transform:translateY(-11px) rotate(-1deg)}}@keyframes weight-turn{0%{transform:rotate(-6deg)}50%{transform:rotate(9deg)}100%{transform:rotate(-6deg)}}@keyframes settle{from{opacity:0;transform:translateY(-15px) rotate(-2deg)}to{opacity:1;transform:none}}@keyframes fly-out{0%{opacity:0;transform:translateY(-100px) scale(.15) rotate(-14deg)}65%{opacity:1;transform:translateY(8px) scale(1.02) rotate(2deg)}100%{opacity:1;transform:none}}
@media(max-width:700px){.site-header{padding:18px 22px;height:64px}.hero{padding:56px 18px 34px;min-height:90dvh}.orb-stage{height:clamp(340px,61dvh,510px);width:100%}.choices{gap:10px;max-width:420px}.choice{min-height:81px}.choice>span:not(.choice-icon){font-size:22px}.login-card{max-width:385px;padding:18px 20px 21px}.collection{padding:0 22px 45px}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.note{padding:23px 19px}.note-body{font-size:17px}.room{background-position:50% 35%}.header-actions{gap:18px}}
@media(max-width:420px){.hero{padding:48px 16px 30px;min-height:90dvh}.orb-stage{height:clamp(320px,59dvh,470px)}.site-header{padding:17px 18px}.brand-star{font-size:27px}.collection-link,.logout{font-size:11px}.choices{gap:8px}.choice{padding:10px 6px 12px;min-height:78px}.choice>span:not(.choice-icon){font-size:21px}.choice-icon{font-size:27px}.login-card{padding:17px 17px 20px}.password-row button{padding:11px 14px}.collection{padding-left:18px;padding-right:18px}.collection h2{font-size:26px}.notes-grid{grid-template-columns:1fr}.filter{padding:8px 14px;font-size:10px}.reveal-paper{padding:33px 25px 25px}.reveal-body{font-size:21px}}
@media(max-height:650px) and (min-width:701px){.hero{padding-top:42px;min-height:100dvh}.orb-stage{height:380px}.choice{min-height:73px}.login-card{padding:14px 20px 17px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

/* Paper tones are shared by the flying note and its saved card. */
.note,.reveal{--paper-light:#f5e9d5;--paper-dark:#e2d2b5;--paper-ink:#392d3d;--paper-accent:#7b5a4b;--paper-border:#9b796e55;--paper-muted:#9c876e}
.note.warmth,.reveal[data-category="warmth"]{--paper-light:#f7e8e0;--paper-dark:#e7cec1;--paper-ink:#493438;--paper-accent:#90645e;--paper-border:#a77b7255;--paper-muted:#a08679}
.note.laughter,.reveal[data-category="laughter"]{--paper-light:#f8efd8;--paper-dark:#e6d7b2;--paper-ink:#473a2c;--paper-accent:#8b7045;--paper-border:#a78a5555;--paper-muted:#a08b69}
.note.knowledge,.reveal[data-category="knowledge"]{--paper-light:#edf0f3;--paper-dark:#d2dbe5;--paper-ink:#333d50;--paper-accent:#65748a;--paper-border:#7e8da555;--paper-muted:#8592a3}
.note{background:linear-gradient(140deg,var(--paper-light),var(--paper-dark));color:var(--paper-ink)}
.note:before,.reveal-paper:before{border-color:var(--paper-border)}
.reveal-paper{background:radial-gradient(ellipse at 20% 0%,var(--paper-light),var(--paper-dark));color:var(--paper-ink)}
.note-label,.paper-label,.paper-symbol{color:var(--paper-accent)}
.note-time{color:var(--paper-muted)}
.test-stamp{color:var(--paper-accent);border-color:var(--paper-border)}
.note-author{min-height:1.6em;font:italic 16px/1.6 Georgia,"Times New Roman",serif;text-align:right;white-space:pre-line;overflow-wrap:anywhere;color:var(--paper-ink);margin:0 0 18px;padding-left:18px}
.reveal-author{font-size:18px;min-height:1.6em;margin-top:-4px;margin-bottom:22px}
@media(max-width:420px){.reveal-author{font-size:17px}}
