:root{color-scheme:dark;--ink:#e9e7df;--muted:#a0a7a8;--line:#e9e7df2e;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#030609;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:hover{color:#fff}button:focus-visible,input:focus-visible{outline:2px solid #efe0b7;outline-offset:5px}[hidden]{display:none!important}main,#scene,.vignette{position:absolute;inset:0;width:100%;height:100%}#scene{display:block;outline:none}.vignette{pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 32%,#0007 100%)}header{position:absolute;inset:28px 34px auto;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.signature{font-size:12px;letter-spacing:4px;display:flex;align-items:center;gap:12px}.signature .orbit{font-size:25px;font-weight:200;color:#d1c4a9}.signature small{font:8px var(--mono);letter-spacing:2px;color:#9da5a6;margin-left:12px}header button{pointer-events:auto;width:36px;height:36px;opacity:.6;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}header svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.2}.opening{position:absolute;left:12%;top:33%;pointer-events:none;opacity:0}.opening>span{font-size:11px;letter-spacing:6px;color:#b7c1c6}.opening h1{font-weight:300;font-size:clamp(52px,8vw,110px);letter-spacing:12px;margin:18px 0 26px}.opening p{font-size:12px;letter-spacing:6px;color:#a8b5bb}.chapter{position:absolute;left:7%;bottom:22%;pointer-events:none;opacity:0;max-width:330px;text-shadow:0 2px 20px #000a}.chapter>span{font:9px var(--mono);letter-spacing:4px;color:#d6cbae}.chapter h2{font-size:28px;font-weight:350;letter-spacing:5px;margin:15px 0}.chapter p{font-size:11px;letter-spacing:1.8px;line-height:1.9;color:#bbc4c7;margin:0}.loading{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);display:flex;gap:14px;align-items:center;font-size:11px;letter-spacing:2px;color:#c8cbc9}.loader{width:14px;height:14px;border:1px solid #bfc6ca33;border-top-color:#e2d8c0;border-radius:50%;animation:spin 1.3s linear infinite}#loading-count{font:10px var(--mono);letter-spacing:1px}@keyframes spin{to{transform:rotate(360deg)}}.ending{position:absolute;left:0;right:0;top:37%;text-align:center;opacity:0;pointer-events:none}.ending>span{font:10px var(--mono);letter-spacing:5px}.ending h2{font-size:clamp(25px,4vw,50px);font-weight:300;letter-spacing:6px;margin:26px 0}.ending button{pointer-events:auto;font-size:11px;letter-spacing:3px;border-bottom:1px solid #ccc4ae66;padding:12px 0}.ending button span{padding-left:20px}.error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:420px;width:90%;padding:32px;background:#10151cec;border:1px solid var(--line);border-radius:5px}.error h2{font-size:21px;font-weight:400}.error p{color:var(--muted);font-size:12px;line-height:1.9}.error button{border:1px solid var(--line);padding:10px 20px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){header{inset:18px 20px auto}.signature{font-size:10px;gap:9px;letter-spacing:3px}.signature small{display:none}.opening{left:10%;top:34%}.opening h1{font-size:60px}.opening>span{font-size:10px;letter-spacing:4px}.opening p{font-size:10px;letter-spacing:3px}.chapter{left:8%;bottom:25%;max-width:230px}.chapter h2{font-size:24px}.chapter p{font-size:10px;letter-spacing:1px}.chapter>span{font-size:8px}.ending h2{font-size:26px;letter-spacing:3px}.loading{white-space:nowrap;font-size:10px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.loading{inset:0;transform:none;background:#030609;justify-content:center;z-index:5;pointer-events:none}
@media(max-width:700px){.chapter{max-width:84vw}.chapter h2{font-size:21px;letter-spacing:2px;text-wrap:balance}}



.chapter{text-shadow:0 1px 3px #000,0 2px 16px #000}.vignette{background:linear-gradient(0deg,#0009,transparent 30%),radial-gradient(ellipse at 50% 45%,transparent 32%,#0007 100%)}

.calculation{position:absolute;left:7%;top:15%;pointer-events:none;width:340px;max-width:86vw;text-shadow:0 1px 5px #000,0 2px 16px #000}.calculation-kicker{font:9px var(--mono);letter-spacing:3px;color:#b4ced8}.calculation h2{font-size:25px;font-weight:350;letter-spacing:2px;margin:13px 0}.calculation p{font-size:10px;letter-spacing:1px;line-height:1.8;margin:6px 0;color:#b8c9ce}.calculation .calculation-value{margin-top:17px;font:10px var(--mono);color:#e6e9de}.calculation-ramp{height:3px;margin-top:12px;background:linear-gradient(90deg,#367cbb,#c7e3df,#f6a448)}.calculation .calculation-scale{font:9px var(--mono);white-space:pre;letter-spacing:0;display:block}.calculation .calculation-note{font-size:9px;color:#c4b9a4;letter-spacing:.5px}
@media(max-width:700px){.calculation{left:8%;top:13%;width:300px}.calculation h2{font-size:20px}.calculation p{font-size:9px}.calculation .calculation-value{font-size:9px}.calculation .calculation-note{font-size:8px}}
/* Registration stays in the film's space, one prompt at a time. */
#registration{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;background:#030609a6;color:var(--ink);padding:0;overflow:auto}#registration::backdrop{background:#03060966;backdrop-filter:blur(5px)}#registration-close{position:absolute;right:34px;top:28px;width:44px;height:44px;font-size:26px;color:var(--muted)}.registration-space{width:min(760px,84vw);margin:clamp(100px,19vh,200px) auto 60px}.registration-meta{font-size:11px;letter-spacing:2px;color:#b9c3c6;margin-bottom:48px}.registration-step{font:10px var(--mono);letter-spacing:4px;color:#cdbf9e;margin:0 0 22px}.registration-space h2{font-size:clamp(25px,3.3vw,42px);font-weight:300;letter-spacing:3px;line-height:1.5;margin:0 0 24px}.registration-space input,.registration-space textarea{display:block;width:100%;padding:14px 0;background:transparent;border:0;border-bottom:1px solid #bfc9ca55;border-radius:0;color:#eee9df;font:300 clamp(22px,3vw,36px)/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;resize:none}.registration-space textarea{font-size:clamp(18px,2.2vw,26px)}.registration-space input::placeholder,.registration-space textarea::placeholder{color:#89979c}.registration-note{color:#aab6bb;font-size:11px;line-height:1.8;letter-spacing:1px;margin:18px 0}.registration-actions{display:flex;align-items:center;justify-content:space-between;margin-top:28px;gap:24px}#registration-next{margin-left:auto}#registration-error{color:#f0c6a7;font-size:12px;min-height:18px}.registration-space button:disabled{opacity:.5;cursor:wait}#registration-receipt{font:11px var(--mono);letter-spacing:2px;color:#d1c4a9;margin:32px 0}.registering header,.registering .ending{visibility:hidden}.registration-space textarea:focus-visible{outline:2px solid #efe0b7;outline-offset:5px}@media(max-width:700px){.registration-space{margin-top:110px}.registration-meta{font-size:10px;line-height:1.8;letter-spacing:1px;margin-bottom:32px}.registration-space h2{letter-spacing:1px}.registration-space textarea{min-height:145px}#registration-close{right:18px;top:18px}.registration-actions{margin-top:18px}} 
.registration-space input:focus-visible,.registration-space textarea:focus-visible{outline:none;border-bottom:2px solid #efe0b7}.registration-space section:not([hidden]){animation:arrive .55s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}


.ending{top:30%}.ending h2{font-size:clamp(25px,3.6vw,46px);line-height:1.45;letter-spacing:4px;margin:22px 0}.ending h2+button{margin-top:0}
@media(max-width:700px){.ending h2{font-size:25px;letter-spacing:2px}}
@media(max-height:580px){.ending{top:18%}.ending h2{font-size:25px;margin:12px 0}}

#opening-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.registration-space h2{overflow-wrap:anywhere}

/* A planted button hit area; the kitten dances inside it. */
.cat-invite{display:inline-flex;flex-direction:column;align-items:center;border:0;padding:0 18px;min-width:202px;min-height:182px;border-radius:36px;touch-action:manipulation}
.cat-stage{position:relative;display:block;width:180px;height:168px;padding:0}
.cat-stage span{padding:0}
.cat-hop{position:absolute;inset:0;display:block;transform-origin:50% 91%}
.cat-hop{animation:kitten-hop 7.2s ease-in-out infinite}
.cat-stage svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.cat-floor{position:absolute;left:57px;bottom:3px;width:66px;height:6px;background:#d7c5a322;border-radius:50%;animation:kitten-floor 7.2s ease-in-out infinite}
.cat-invite-label{padding:2px 0 0 3px;color:#d5cbb8;font-size:11px;letter-spacing:3px}
.cat-tail{transform-origin:118px 143px;animation:kitten-tail 2.4s ease-in-out infinite}
.cat-head{transform-origin:90px 108px;animation:kitten-head 7.2s ease-in-out infinite}
.cat-eye{transform-box:fill-box;transform-origin:center;animation:kitten-blink 5.2s infinite}
.cat-arm-left{transform-origin:65px 130px;animation:kitten-wave 7.2s ease-in-out infinite}
.cat-arm-right{transform-origin:115px 130px;animation:kitten-wave 7.2s -.3s ease-in-out infinite reverse}
.cat-foot-left{transform-origin:80px 148px;animation:kitten-step 7.2s ease-in-out infinite}
.cat-foot-right{transform-origin:100px 148px;animation:kitten-step 7.2s -.35s ease-in-out infinite reverse}
.cat-invite:hover .cat-tail,.cat-invite:focus-visible .cat-tail{animation-duration:.7s}
.cat-invite:hover .cat-invite-label,.cat-invite:focus-visible .cat-invite-label{color:#fff}
@keyframes kitten-hop{0%,9%,27%,38%,76%,100%{transform:translateY(0) scale(1)}14%,42%{transform:translateY(3px) scale(1.06,.91)}20%{transform:translateY(-15px) scale(.96,1.04)}32%{transform:translateY(-9px)}49%{transform:translateY(-24px) scale(.97,1.03)}58%{transform:translateY(-21px)}67%{transform:translateY(2px) scale(1.08,.9)}72%{transform:translateY(-3px) scale(.98,1.02)}}
@keyframes kitten-floor{0%,9%,27%,38%,76%,100%{transform:scaleX(1);opacity:1}20%,32%{transform:scaleX(.78);opacity:.55}49%,58%{transform:scaleX(.58);opacity:.35}67%{transform:scaleX(1.1);opacity:1}}
@keyframes kitten-tail{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(12deg)}}
@keyframes kitten-head{0%,38%,68%,100%{transform:rotate(0)}9%{transform:rotate(-7deg)}27%{transform:rotate(6deg)}82%,93%{transform:rotate(-5deg)}}
@keyframes kitten-blink{0%,40%,44%,77%,81%,100%{transform:scaleY(1)}42%,79%{transform:scaleY(.1)}}
@keyframes kitten-wave{0%,10%,38%,70%,100%{transform:rotate(0)}20%,32%{transform:rotate(23deg)}79%,91%{transform:rotate(42deg)}85%,96%{transform:rotate(16deg)}}
@keyframes kitten-step{0%,10%,38%,70%,100%{transform:rotate(0)}20%,32%{transform:rotate(12deg)}}
@media(max-height:620px){.cat-stage{width:144px;height:134px}.cat-invite{min-height:151px}.cat-floor{left:45px;width:54px}}
@media(prefers-reduced-motion:reduce){.cat-stage,.cat-stage *{animation:none!important;transition:none!important}}
/* Event entry stays available throughout the film. */
.header-actions{display:flex;align-items:center;gap:20px;pointer-events:auto}header #event-open{width:auto;min-width:142px;min-height:56px;height:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #d1c4a961;border-radius:999px;background:#0a1014c9;backdrop-filter:blur(8px);opacity:1;font-size:12px;letter-spacing:2px;padding:10px 19px;transition:background .2s,border-color .2s}header #event-open:hover{background:#1b2229eb;border-color:#d1c4a9a6}header #event-open:active{background:#252c32}header #event-open .event-entry-arrow{width:17px;height:17px;flex:none;color:#d1c4a9;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}header #event-open:hover .event-entry-arrow{transform:translate(2px,-2px)}
#event-home{text-align:center}#event-home>h2{font-size:clamp(34px,5vw,52px);line-height:1.3;letter-spacing:5px;margin:0 0 18px}.event-arrangement{font-size:13px;line-height:1.8;color:#a9b3b7;letter-spacing:2px;margin:0}#event-notice{font-size:13px;line-height:1.9;color:#c0c7c8;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px auto;max-width:440px}#event-cat-slot{margin:32px auto 0}#my-registration{font-size:18px;font-weight:300;letter-spacing:3px;color:#d4ccb9;margin:68px 0 64px}#event-error{font-size:12px;line-height:1.8;color:#efc4a7}#event-error:empty{display:none}.event-actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:28px}.text-action{font-size:11px;letter-spacing:1px;min-height:44px;padding:12px 0;color:#a6b0b4}.text-action:hover{color:var(--ink)}#registration-home{margin-top:22px}.registration-space:has(#event-home:not([hidden])){width:min(640px,84vw);margin:clamp(100px,20vh,190px) auto 48px}body.registering #loading{visibility:hidden}
@media(max-width:700px){.header-actions{gap:12px}header #event-open{min-width:126px;min-height:52px;padding:9px 15px;gap:16px;font-size:11px;letter-spacing:1px}#event-home>h2{letter-spacing:3px}.event-arrangement{font-size:12px;letter-spacing:1px}}
@media(max-height:620px){.registration-space:has(#event-home:not([hidden])){margin-top:85px}#event-cat-slot{margin-top:16px}.event-actions{margin-top:12px}#my-registration{margin:42px 0}}

#event-title:focus{outline:none}

header #event-open .event-entry-copy{display:flex;flex-direction:column;gap:5px;align-items:flex-start;color:var(--ink)}.event-entry-copy small{font-size:10px;font-weight:400;letter-spacing:1px;color:#b9b3a6}.event-subtitle{font-size:14px;line-height:1.6;letter-spacing:3px;color:#c9ccca;margin:-4px 0 22px}

.space-return{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-width:168px;min-height:46px;padding:12px 22px;border:1px solid #d1c4a94d;border-radius:999px;background:#e9e7df05;color:#d8d3c7;font-size:12px;letter-spacing:2px;transition:background .2s,border-color .2s,color .2s}.space-return svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.space-return:enabled:hover{background:#e9e7df0d;border-color:#d1c4a98c;color:#f0e9db}.space-return:enabled:hover svg{transform:translateX(3px)}.space-return:enabled:active{background:#e9e7df16}

#registration-next:disabled svg{visibility:hidden}

.space-return.secondary-action{min-width:96px;min-height:44px;padding:10px 16px;gap:0;font-size:11px;letter-spacing:1px;color:#b6bebf;border-color:#d1c4a936;background:transparent}.space-return.secondary-action:enabled:hover{border-color:#d1c4a976;background:#e9e7df08;color:#e3ded3}@media(max-width:700px){.registration-actions{gap:16px}#registration-next{min-width:144px;padding-inline:18px}}
/* Phone layout, safe areas, and a compact load state leave registration available. */
header{z-index:4;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right))}
.loading{inset:auto auto max(26px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));transform:none;background:#030609d9;border-radius:999px;padding:12px 16px;justify-content:flex-start;max-width:calc(100% - 100px);font-size:11px;letter-spacing:.5px;z-index:4;pointer-events:auto;white-space:normal}
#loading-retry{min-height:30px;padding:0 5px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.sound-toggle{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:44px;height:44px;border:1px solid #d1c4a94d;border-radius:50%;background:#081015ba;color:#bfc6c4;z-index:4;display:grid;place-items:center;touch-action:manipulation}
.sound-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sound-toggle[data-enabled="true"] .sound-slash,.sound-toggle[data-enabled="false"] .sound-waves{display:none}
.registering .sound-toggle{visibility:hidden}
#registration-close{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}
.registration-space{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:700px){
 header{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top))}
 .signature{letter-spacing:1px;gap:7px;white-space:nowrap}.header-actions{gap:10px}header #fullscreen{width:36px;height:44px;border:0}header #event-open{min-width:120px;min-height:50px;gap:12px;padding:9px 14px}
 .registration-space{width:calc(100% - 40px);margin-top:max(90px,14dvh);margin-bottom:32px}
 .registration-space:has(#event-home:not([hidden])){width:calc(100% - 40px);margin-top:max(95px,16dvh)}
 .registration-actions{gap:12px}.space-return{min-width:152px}#registration-next{min-width:132px}
 .ending{top:29%;padding:0 18px}.ending h2{font-size:clamp(21px,6.2vw,28px);letter-spacing:1px}
 .calculation{top:auto;bottom:max(90px,calc(env(safe-area-inset-bottom) + 70px));left:24px;width:calc(100% - 48px);max-width:360px}
 .calculation .calculation-value{font-size:9px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
 .sound-toggle{right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
}
@media(max-height:520px){
 .registration-space,.registration-space:has(#event-home:not([hidden])){margin-top:74px;margin-bottom:28px}
 .registration-meta{margin-bottom:18px}.registration-space h2{margin-bottom:14px;font-size:25px}.registration-space textarea{min-height:95px}
 #event-home>h2{font-size:32px;margin-bottom:10px}.event-subtitle{margin-bottom:10px}#event-cat-slot{margin-top:14px}
 .ending{top:18%;}.ending h2{font-size:22px}.ending .cat-stage{width:125px;height:116px}.ending .cat-invite{min-height:140px}
}

.ending .cat-invite{border:0;padding:0 18px}
/* Registration system: shared navigation and activity records. */
#presentation{position:absolute;inset:0;outline:none}.header-actions #mine-open{width:auto;border:0;border-radius:0;padding:8px 0;opacity:1;font-size:12px;white-space:nowrap;letter-spacing:1px}.header-actions{gap:20px}.activity-list{padding:0;margin:32px 0;list-style:none}.activity-list li{padding:24px 0;border-bottom:1px solid var(--line)}.activity-list a,.activity-list button{font-size:clamp(19px,2.5vw,25px);font-weight:300;text-align:left;color:var(--ink);text-decoration:none;letter-spacing:1px;overflow-wrap:anywhere;padding:0}.activity-list span{float:right;color:var(--muted);font-size:12px;margin:8px 0 0 16px}.activity-list p,#record-arrangement,#event-description{font-size:13px;line-height:1.8;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}#event-description:empty,#event-state:empty,#record-notice:empty{display:none}#record-fields{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}#record-fields dt{font-size:11px;color:var(--muted);margin-bottom:8px}#record-fields dd{margin:0 0 24px;font-size:16px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}#record-notice{white-space:pre-wrap;line-height:1.8}#cancel-confirm{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}#history-error,#record-error,#events-error{color:#f0c6a7;font-size:13px}#all-events{margin-top:24px}.event-actions{flex-wrap:wrap}.space-return{text-decoration:none}.still-presentation{position:absolute;inset:0;padding:28vh max(8vw,24px) 50px}.still-presentation h1{font-size:clamp(32px,6vw,72px);font-weight:300;letter-spacing:3px;overflow-wrap:anywhere}.still-presentation p{color:var(--muted);line-height:1.8;margin-bottom:32px}.ending #film-invite{margin-top:0}#event-title,#record-title{overflow-wrap:anywhere}#error{pointer-events:none}#error button{pointer-events:auto}@media(max-width:700px){.signature{letter-spacing:1px;gap:5px}.header-actions{gap:12px}.header-actions #mine-open{font-size:11px}.activity-list span{float:none;display:block;margin:12px 0 0}.registration-space{width:86vw}.event-actions{gap:12px}}
#registration-nav{position:absolute;top:28px;left:max(7vw,24px);display:flex;gap:28px;padding:12px 0}#registration-nav button{font-size:12px;color:var(--muted);letter-spacing:1px;padding:0}#registration-nav button:hover{color:var(--ink)}@media(max-width:700px){#registration-nav{top:18px;gap:22px}}
.registration-space h2[tabindex="-1"]:focus{outline:none}#registration-nav,#registration-close{position:fixed;z-index:2}#registration-nav button[aria-current="page"]{color:var(--ink)}
/* A writing invitation within the existing translucent registration layer. */
.learning-invite{position:relative;display:flex;align-items:center;justify-content:space-between;width:auto;min-height:56px;gap:24px;padding:8px 0 16px;text-align:left;color:#e4dece}.learning-invite>span:first-child{font-size:18px;font-weight:300;letter-spacing:1px;transition:transform .3s ease}.learning-invite svg{width:30px;height:30px;fill:none;stroke:#b9ae94;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;margin-right:8px;transition:transform .4s ease}.invite-orbit{stroke-dasharray:145;stroke-dashoffset:26;transition:stroke-dashoffset .4s ease}.invite-line{position:absolute;bottom:12px;left:0;width:100%;height:1px;background:#d1c4a92e;transform-origin:left;transition:background .3s}.learning-invite:hover svg,.learning-invite:focus-visible svg{transform:translate(3px,-3px)}.learning-invite:hover .invite-orbit,.learning-invite:focus-visible .invite-orbit{stroke-dashoffset:0}.learning-invite:hover .invite-line{background:#d1c4a970}.learning-invite:hover>span:first-child{transform:translateX(3px)}.registration-space #learning-topic{border:0;padding:12px 0;min-height:240px;font-size:clamp(23px,3vw,34px);line-height:1.8;resize:none;caret-color:#d1c4a9}.registration-space #learning-topic:focus-visible{outline:none;border:0}.learning-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;gap:20px}.learning-signature{display:flex;align-items:center;gap:16px;min-width:0}.learning-signature button{font-size:12px;color:var(--muted);white-space:nowrap;min-height:44px;padding:0}.registration-space #learning-name{font-size:15px;line-height:1.5;width:140px;min-width:0;padding:6px 0}.learning-send{display:flex;align-items:center;gap:20px;font-size:12px;padding:0}.learning-send svg{width:48px;height:48px;border:1px solid #d1c4a955;border-radius:50%;padding:8px;fill:none;stroke:#d1c4a9;stroke-width:1.2;transition:border-color .25s,transform .25s}.learning-send:hover svg{border-color:#d1c4a9;transform:translateX(3px)}#learning-error,#learning-storage{color:#f0c6a7;font-size:12px;line-height:1.8}#learning-history{margin-top:48px}#learning-history h3{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:2px}#learning-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 24px}#learning-list .learning-topic{font-size:17px;color:var(--ink);flex:1;margin:0;white-space:pre-wrap}#learning-list span{float:none;margin:0}#learning-list a{flex-basis:100%;font-size:13px;color:#d1c4a9}#learning-submitted-topic{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:var(--muted)}@media(max-width:700px){.learning-invite{min-height:56px}.registration-space #learning-topic{min-height:220px}.learning-footer{gap:10px}.registration-space #learning-name{width:100px}}@media(prefers-reduced-motion:reduce){.learning-invite *,.learning-send svg{transition:none!important}}
#account-recovery-code{display:block;font:clamp(18px,3vw,27px)/1.8 var(--mono);letter-spacing:2px;overflow-wrap:anywhere;user-select:all;padding:24px 0;color:#e3d8bd}.account-note{font-size:12px;line-height:1.8;color:var(--muted)}#account-open{margin:-16px 0 12px}#account-start-error,#account-recover-error,#account-code-error,#account-error{font-size:12px;color:#f0c6a7}#account-recovery-input{font-family:var(--mono);font-size:clamp(17px,3vw,26px)}

#learning-hint{font-size:13px;line-height:1.8;color:var(--muted);margin:20px 0 12px;max-width:32em}

/* Training names lead the activity list and detail view. */
#event-list a{display:block;font-size:clamp(28px,4vw,38px);font-weight:500;line-height:1.4;letter-spacing:1px;color:#f4f0e7;text-wrap:pretty}#event-list p{margin:12px 0 0}#event-list-view>h2{font-size:22px;color:var(--muted);letter-spacing:2px}#event-home>#event-title{font-size:clamp(38px,5.5vw,56px);font-weight:500;line-height:1.3;letter-spacing:2px;color:#f4f0e7;text-wrap:pretty;margin-bottom:24px}@media(max-height:620px){#event-home>#event-title{font-size:32px;margin-bottom:14px}}
