/* Lumen — floating optical glass, warm light, and a little asymmetry. */
:root{--lumen:#eed49a;--ice:#9dc9d0}
#app{max-width:720px;border-color:#eed49a1c;background:linear-gradient(160deg,#15181bd9,#0c0d10ed)}
#tabs{max-width:720px}
.col{padding-inline:clamp(20px,5vw,42px)}
#top{background:#111418ed}
#crest .hex{width:46px;height:46px;clip-path:none;background:none;position:relative;overflow:visible}
#crest .hex .lumen{width:46px;height:46px;filter:drop-shadow(0 0 8px #f1cc7866)}
#crest .hex b{position:absolute;bottom:-2px;right:-3px;background:#efd69d;color:#16130d;border:2px solid #15181b;border-radius:50%;min-width:20px;min-height:20px;display:grid;place-items:center;font-size:10px}
#crest .xpbar{width:48px}
.quote{position:relative;margin-top:8px}
.quote blockquote{font-family:Georgia,serif;font-size:clamp(19px,4vw,25px);font-weight:400;line-height:1.5}
.quote a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid #eed49a40;padding-bottom:3px}
.bigstart{position:relative;isolation:isolate;border-radius:50%;box-shadow:0 0 0 10px #e6b25c08,0 0 0 23px #e6b25c04,0 15px 55px #e8873830}
.launching{animation:orb-launch .68s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}
@keyframes orb-launch{0%{transform:scale(1)}30%{transform:scale(.8) rotate(-8deg);filter:brightness(1.2)}70%{transform:scale(1.15) rotate(4deg);filter:brightness(1.8);box-shadow:0 0 0 40px #edd39320,0 0 100px #edd39366}100%{transform:scale(1);filter:brightness(1)}}
.launch-flare{position:fixed;inset:0;z-index:150;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#edcf9c25,transparent 60%);animation:flare .68s ease-out}
@keyframes flare{0%,100%{opacity:0}55%{opacity:1}}
.lumen-trail{position:fixed;z-index:3;pointer-events:none;left:50%;top:-15vh;width:max(112vw,780px);height:130vh;opacity:.43;transform:translateX(-48%);animation:fractal-drift 18s ease-in-out infinite alternate;will-change:transform,opacity}
.lumen-trail svg{display:block;width:100%;height:100%;overflow:visible}
.trail-haze{filter:blur(12px)}.trail-haze path{fill:none;stroke:url(#trail-light);stroke-linecap:round}.trail-haze .haze-wide{stroke-width:210;opacity:.23}.trail-haze .haze-mid{stroke-width:130;opacity:.2}.trail-haze .haze-fine{stroke-width:72;opacity:.25}
.trail-fractals{animation:fractal-flow 13s linear infinite;will-change:stroke-dashoffset}.trail-fractals path{fill:none;stroke:url(#trail-light);stroke-linecap:round;stroke-dasharray:100 8}
.trail-depth-4{stroke-width:3;opacity:.7}.trail-depth-3{stroke-width:2.2;opacity:.62}.trail-depth-2{stroke-width:1.5;opacity:.53}.trail-depth-1{stroke-width:1;opacity:.44}.trail-depth-0{stroke-width:.6;opacity:.34}
@keyframes fractal-drift{to{transform:translate(-52%,-2vh) rotate(-1.2deg);opacity:.29}}
@keyframes fractal-flow{to{stroke-dashoffset:-56}}
.eyebrow,.player-ribbon{font:10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lumen);line-height:1.6}
.discovery,.guidance-card{margin:30px 0 8px;padding:24px;text-align:left;border:1px solid #eed49a28;border-radius:18px 6px 18px 18px;background:linear-gradient(125deg,#23313870,#1a191d)}
.discovery h3{font:24px Georgia,serif;color:#f6e7ca;line-height:1.25;margin:10px 0}
.discovery p,.guidance-card p{font-size:14px;line-height:1.7;color:var(--ink-2)}
.discovery a{font-size:12px;color:var(--ice)}
.discovery details{margin:18px 0;font-size:13px}
.discovery .acts{justify-content:flex-start}.discovery .go{flex:1}
.field-start{width:100%;margin:0 0 14px;padding:13px 16px;display:grid;grid-template-columns:34px 1fr;gap:2px 10px;text-align:left;border:1px solid #9dc9d032;border-radius:14px;background:linear-gradient(120deg,#26363a80,#17191d);color:var(--ink-0);cursor:pointer}.field-start span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eed49a18;color:var(--lumen)}.field-start b{font-size:13px}.field-start small{color:var(--ink-3)}
.story-seed{margin:0 0 14px;padding:18px;border:1px solid #eed49a3d;border-radius:6px 18px 18px;background:linear-gradient(135deg,#2b353775,#191a1d)}.story-seed h2{margin:7px 0 9px;font:21px Georgia,serif;color:#f4e5c6}.story-seed p{font-size:13px;line-height:1.6;color:var(--ink-2)}.story-seed strong{display:block;margin:12px 0;color:var(--lumen);font-size:13px;line-height:1.5}.story-seed a,.story-seed>span{font-size:10px;color:var(--ice);text-decoration:none}.story-rule{margin:8px 0 3px;font:10px var(--mono);letter-spacing:.06em;color:var(--ink-3)}
.entry.field-story{border-left-color:var(--lumen);background:linear-gradient(90deg,#eed49a0b,transparent)}.story-mark{margin-bottom:6px;font:9px var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--lumen)}
.story-shared{margin-top:10px;padding:7px 10px;border:1px solid #eed49a35;border-radius:999px;background:#eed49a0a;color:var(--lumen);font:10px var(--mono);cursor:pointer}.story-shared.on{color:var(--ink-3);border-color:var(--line);background:transparent}
summary{cursor:pointer;color:var(--lumen);padding:9px 0}
.profile{position:relative;overflow:hidden;border:1px solid #ead4a756;border-radius:22px 7px 22px 22px;padding:25px 22px 26px;background:radial-gradient(ellipse at 50% 28%,#dfb96c1c,transparent 62%),linear-gradient(150deg,#24282e,#13161b 65%);box-shadow:0 14px 0 -7px #0b0c0e,0 17px 0 -7px #eed49a35,0 28px 48px #0006;transform:perspective(900px) rotateX(1deg)}
.player-ribbon{text-align:left;position:relative;z-index:2}
.player-stats{display:flex;gap:10px;justify-content:space-between;position:relative;margin-top:18px;order:2}
.player-stats div{display:flex;flex-direction:column;gap:4px;flex:1}
.player-stats b{font:20px var(--mono);color:#f4e4c3}
.player-stats span{font-size:10px;color:var(--ink-3)}
.lumen{display:inline-grid;place-items:center;position:relative}.lumen svg{display:block;width:100%;height:100%;overflow:visible}.lumen-wedge path:first-child{stroke-width:.42;vector-effect:non-scaling-stroke}.wedge-glint{fill:none;stroke:#fff;stroke-width:.25;opacity:.7;vector-effect:non-scaling-stroke}.lumen-core{filter:drop-shadow(0 0 3px #ffd885)}.core-spark{animation:core-beat 1.8s ease-in-out infinite alternate}
@keyframes core-beat{to{r:1.65;opacity:.75}}
.bigcrest{position:relative;width:190px;height:190px;clip-path:none;background:radial-gradient(circle,#e6bd6222,transparent 60%);box-shadow:none;margin:12px auto 16px;animation:orb-float 7s ease-in-out infinite}
.bigcrest .lumen-profile{width:100%;height:100%;filter:drop-shadow(0 0 12px #f1cc7855)}
.bigcrest b{position:absolute;bottom:0;right:8px;font-size:18px;padding:9px;background:#eed49a;border:3px solid #26292b;border-radius:50%}
@keyframes orb-float{50%{transform:translateY(-7px) rotate(2deg)}}
.guidance-card label{display:block;font-size:13px;margin:12px 0;color:var(--ink-2)}
.guidance-card input[type=checkbox]{width:auto;accent-color:var(--lumen);margin-right:8px}
.guidance-card fieldset{border:1px solid #eed49a22;padding:8px 14px;margin:18px 0;font-size:12px;color:var(--ink-3)}
.practice-card{border:1px solid #a3c7cb50;box-shadow:6px 6px 0 #9dc9d010;background:linear-gradient(135deg,#26373b70,#17191e);border-radius:6px 22px 22px 22px;position:relative}
.practice-card>.eyebrow{margin-bottom:18px;color:var(--ice)}
.sits{gap:10px}.sit{border-radius:14px;background:linear-gradient(135deg,#22292c,#16181b);min-height:54px;border:1px solid #b3c5c522;text-align:left}.sit i{color:var(--lumen)}
#friends-handle{position:fixed;right:max(14px,calc((100vw - 720px)/2 + 14px));bottom:calc(86px + env(safe-area-inset-bottom));z-index:44;background:#21292e;color:#f3deb3;border:1px solid #f0d29a66;border-radius:14px 14px 4px 14px;padding:13px 16px;box-shadow:0 6px 30px #0006;font:12px var(--font);cursor:grab;touch-action:none}
#friends-handle span{margin-right:8px}
#friends-drawer{position:fixed;inset:auto 12px 12px auto;width:min(360px,calc(100vw - 24px));height:min(760px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;margin:0;padding:22px;background:#171d22;color:var(--ink-0);border:1px solid #e8d09a55;border-radius:12px 4px 4px 12px;box-shadow:-20px 0 80px #0009;overflow:auto}
#friends-drawer[open]{animation:drawer-in .35s cubic-bezier(.2,.8,.2,1)}
#friends-drawer::backdrop{background:#0008;backdrop-filter:blur(5px)}
@keyframes drawer-in{from{transform:translate(30px,60%);opacity:0}}
.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.drawer-heading h2{font:25px Georgia,serif;margin:6px 0}
.friend-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.friend-form label{font-size:12px;color:var(--ink-2);display:flex;flex-direction:column;gap:6px;min-width:0}.friend-form label:first-child,.friend-form label:last-of-type,.friend-form>button{grid-column:1/-1}.friend-form input,.friend-form select{width:100%;min-width:0;box-sizing:border-box;font-size:14px}.friend-form small{font-size:10px}
.friend-add-orb{width:112px;min-height:112px;margin:20px auto 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:50%;border:1px solid #ff9b705e;background:radial-gradient(circle at 42% 34%,#ff8c58,#d9552d 68%,#632618);color:#1b0f0a;box-shadow:0 13px 36px #0007,0 0 34px #e8663635;font:inherit;cursor:pointer}.friend-add-orb span{font-size:34px;line-height:.8;font-weight:300;transition:transform .25s}.friend-add-orb b{max-width:72px;font-size:11px;line-height:1.2}.friend-add-orb.open span{transform:rotate(45deg)}.friend-form-shell{overflow:hidden;animation:friend-form-down .35s cubic-bezier(.2,.8,.2,1) both}.friend-form-shell .friend-form{margin-top:0}@keyframes friend-form-down{from{opacity:0;transform:translateY(-18px);max-height:0}to{opacity:1;transform:none;max-height:560px}}
.friend-card{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:20px 0;border-top:1px solid #eed49a25}.friend-card h3{margin:0;font-size:17px}.friend-card p{margin:5px 0;font-size:13px;overflow-wrap:anywhere}.friend-card>.acts,.friend-card>details{grid-column:1/-1}.friend-avatar{height:34px;width:34px;background:#9dc9d020;color:var(--ice);border:1px solid #9dc9d050;border-radius:10px;display:grid;place-items:center}.birthday{color:var(--lumen)}
.entry{position:relative;padding-right:42px}.entry>.x{position:absolute;right:8px;top:8px;opacity:1!important;width:30px;height:30px;border:1px solid #eed49a25;border-radius:50%;background:#23272b;color:#ddd;font-size:18px;cursor:pointer}.entry .body{overflow-wrap:anywhere}
.capture+.todo{margin-top:12px}.capture+.todo .td-t{color:var(--accent);font-weight:650}.capture+.todo .td-box{border-color:#e2603a99}.today-summary{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:right;margin-top:10px}
.stick-instruction{font-size:12px;color:var(--ink-2);line-height:1.5;margin:4px 0 15px}.stick-deck{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:330px;margin:0 auto}.stick-wrap{text-align:center;min-width:0}.stick-title{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lumen);margin-bottom:8px}.joystick{position:relative;width:min(132px,36vw);aspect-ratio:1;margin:auto;border-radius:50%;border:1px solid #eed49a40;background:radial-gradient(circle at 50% 50%,#ecbd6320 0 4%,transparent 5% 30%,#99d8e512 31% 32%,transparent 33% 61%,#eed49a18 62% 63%,#11161b 64%);box-shadow:inset 0 0 35px #0008,0 10px 30px #0005;touch-action:none;user-select:none;cursor:grab}.joystick:active{cursor:grabbing}.joystick::before,.joystick::after{content:"";position:absolute;background:#eed49a1c;pointer-events:none}.joystick::before{left:50%;top:12%;bottom:12%;width:1px}.joystick::after{top:50%;left:12%;right:12%;height:1px}.stick-knob{position:absolute;z-index:2;left:50%;top:50%;width:34px;height:34px;border-radius:50%;transform:translate(calc(-50% + var(--jx)),calc(-50% + var(--jy)));background:radial-gradient(circle at 36% 28%,#fff8d9,#e7b863 42%,#82522c 75%,#1b2025);border:1px solid #fff4c799;box-shadow:0 4px 14px #000b,0 0 18px #efbd6366;transition:transform 45ms linear;pointer-events:none}.stick-label{position:absolute;font:8px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);pointer-events:none}.stick-label.top{top:5px;left:50%;transform:translateX(-50%)}.stick-label.bottom{bottom:5px;left:50%;transform:translateX(-50%)}.stick-label.left{left:5px;top:50%;transform:translateY(-50%)}.stick-label.right{right:5px;top:50%;transform:translateY(-50%)}.stick-answer{margin:16px 0 0;padding:14px;border:1px solid #9bd9e526;border-radius:14px;background:#9bd9e509}.stick-answer span{font:9px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ice)}.stick-answer p{font-size:13px;line-height:1.55;color:var(--ink-1);margin:7px 0 0}.practice-card .go:disabled{opacity:.38;cursor:not-allowed}
.quest-card p{font-size:15px;line-height:1.45;color:var(--ink-0);margin:7px 0}.quest-card ol{margin:10px 0;padding-left:20px;color:var(--ink-1);font-size:12px;line-height:1.55}.quest-card small{display:block;border-top:1px solid #9bd9e51b;padding-top:9px;color:var(--ink-3);line-height:1.5}.quest-complete{padding:18px;border:1px solid #eed49a3d;border-radius:14px;background:#eed49a0b}.quest-complete b{color:var(--lumen)}.quest-complete p{color:var(--ink-1);margin-bottom:0}
:focus-visible{outline:2px solid var(--ice)!important;outline-offset:4px}
.still .bigcrest,.still .lumen-trail,.still .core-spark,.still .trail-fractals{animation:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:400px){.col{padding-inline:18px}.player-stats span{font-size:9px}.discovery,.guidance-card{padding:18px}.bigcrest{width:160px;height:160px}}
