.stage-static,.stage-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.stage-static{background:linear-gradient(to bottom, var(--night-950), var(--night-900));overflow:hidden}.stage-first-paint,.stage-full-art{position:absolute;inset:0}.stage-full-art{opacity:0;transition:opacity .6s}.stage-full-art[data-loaded=true]{opacity:1}@media (prefers-reduced-motion:reduce){.stage-full-art{transition-duration:.12s}}.stage-static svg{width:100%;height:100%}.stage-room-shapes{color:var(--night-800);fill:currentColor}.stage-shelf-back{fill:var(--night-900)}.stage-shaft{fill:var(--moon);opacity:.07}.stage-lampshade{fill:var(--moon);opacity:.3}.stage-moon{background:var(--moon);opacity:.32;width:8vmin;height:8vmin;box-shadow:0 0 3vmin color-mix(in oklab, var(--moon) 15%, transparent);border-radius:50%;position:absolute;top:20%;left:79%;transform:translate(-50%,-50%)}.stage-lamp{background:radial-gradient(circle, var(--moon), transparent 70%);opacity:.1;width:40vh;height:40vh;position:absolute;top:71.2%;left:57.5%;transform:translate(-50%,-50%)}.stage-vignette{background:radial-gradient(ellipse at 70% 42%, var(--moonlight), transparent 70%);opacity:.18;position:absolute;inset:0}.stage-canvas{opacity:0;transition:opacity .6s}.stage-canvas[data-ready=true]{opacity:1}.landing-shell,.tool-shell{z-index:1;position:relative}.stage-footer{z-index:1;max-width:1280px;margin:0 auto;padding:12px 40px 24px;position:relative}.stage-footer button{font:inherit;min-height:44px;color:var(--text-2);cursor:pointer;text-underline-offset:5px;padding:8px 0;font-size:14px;text-decoration:underline}.live-landing{max-width:1280px;min-height:calc(100svh - 90px)}.live-landing .landing-hero{background:0 0;width:48%;padding:clamp(36px,7vh,72px) 0 36px;display:block}.live-landing .hero-copy h1{max-width:none;font-size:clamp(32px,3.4vw,48px);line-height:1.35}.live-landing .hero-copy h1:lang(ko),.live-landing .hero-copy h1:lang(ja){max-width:12em}.live-landing .hero-description{max-width:42ch;margin:20px 0 32px;font-size:16px}.landing-dropzone{color:var(--ink);background:var(--paper-50);border:1px solid var(--paper-100);box-shadow:var(--shadow-paper);border-radius:var(--radius-chip);padding:28px 30px}.landing-paper-rule{background:var(--stamp);width:40px;height:3px;margin-bottom:18px;display:block}.landing-dropzone h2{font-size:20px;font-weight:600}.landing-dropzone p{margin-top:12px;font-size:14px}.landing-dropzone button{background:var(--ink);width:100%;color:var(--paper-50);border:1px solid var(--ink);border-radius:var(--radius-chip);min-height:48px;font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:32px;margin-top:24px;padding:13px 18px;display:flex}.landing-dropzone a{text-underline-offset:4px;min-height:44px;padding:16px 0 0;font-size:14px;text-decoration:underline;display:inline-block}.landing-dropzone :focus-visible{outline-color:var(--ink)}.tool-shell #tool-main{width:calc(100% - 420px)}.tool-scene{background:var(--paper-50);color:var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow-paper);margin-top:36px;padding:28px}.tool-scene,.paper-scene{animation:paper-enter .24s var(--ease-steward) both}.tool-shell .tool-title-row{margin-top:0}.tool-shell .tool-title-row h1{font-size:clamp(26px,2.6vw,36px)}.tool-shell .tool-dropzone{background:var(--paper-100);border-top-color:var(--ink);padding:32px 20px}.tool-shell .tool-dropzone svg{width:48px;height:48px;color:var(--ink);margin-bottom:16px}.tool-shell .tool-dossier{box-shadow:none;border:1px solid var(--line);padding:20px}.tool-shell .tool-dossier-split{grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:20px}.tool-shell .tool-portrait{max-height:300px}.tool-shell .tool-fields{grid-template-columns:1fr 1fr;gap:14px 12px}.tool-shell .tool-chip{color:var(--paper-50)}.tool-shell .tool-primary{background:var(--ink);color:var(--paper-50);border-color:var(--ink)}.tool-shell .tool-confirm{flex-wrap:wrap}.tool-shell .tool-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-shell .tool-slot{padding:12px}.tool-shell .tool-notice{margin-top:24px;padding-top:16px}.tool-shell .tool-analyze-row{flex-wrap:wrap;gap:16px}.tool-shell .tool-status{margin-block:8px}.tool-shell .portal-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-shell .portal-card{background:var(--paper-100);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:28px 28px var(--radius-chip) var(--radius-chip);grid-template-columns:1fr auto;gap:12px;padding:22px 14px 16px}.tool-shell .portal-card h3{font-size:16px}.tool-shell .portal-stamp{width:40px;height:40px;color:var(--ink);grid-column:1/-1}.tool-shell .portal-grade{color:var(--ink);font-size:28px}.tool-shell .portal-workspace{grid-template-columns:minmax(150px,.8fr) minmax(0,2fr);gap:18px}.tool-shell .portal-files{grid-column:1/-1}.tool-shell .portal-actions,.tool-shell .save-sheet{background:var(--paper-50)}.tool-shell .stamp-slam{animation:.12s ease-out both stamp-rough;transform:rotate(-1deg)}.ink-progress-space{height:6px;margin:12px 0 0}.ink-progress{background:var(--line);height:2px;animation:1.2s step-end both ink-reveal;overflow:hidden}.ink-progress span{background:var(--ink);transform-origin:0;width:38%;height:100%;animation:1.8s ease-in-out infinite ink-travel;display:block}@keyframes ink-travel{0%{transform:translate(-100%)}to{transform:translate(365%)}}@keyframes ink-reveal{0%{visibility:hidden}to{visibility:visible}}@keyframes paper-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes stamp-rough{0%{opacity:.7;transform:scale(1.04)rotate(-1deg)}to{opacity:1;transform:scale(1)rotate(-1deg)}}@media (min-width:768px) and (max-width:1100px){.tool-shell #tool-main{width:62%}.tool-shell .tool-dossier-split,.tool-shell .portal-cards,.tool-shell .portal-workspace{grid-template-columns:1fr}.tool-shell .tool-portrait-panel{max-width:240px;margin:auto}.tool-scene{padding:20px}}@media (max-width:767px){.live-landing{min-height:0;padding-inline:20px}.live-landing .landing-hero{width:100%;padding:28px 0 20px}.live-landing .hero-copy h1{max-width:16ch;font-size:32px}.live-landing .hero-description{margin:12px 0 18px;font-size:14px}.landing-dropzone{padding:22px}.landing-dropzone h2{font-size:18px}.stage-footer{padding:0 20px 20px}.tool-shell #tool-main{width:100%}.tool-scene{margin-top:20px;padding:20px 16px}.tool-shell .tool-dossier-split,.tool-shell .portal-cards,.tool-shell .portal-workspace,.tool-shell .tool-fields,.tool-shell .tool-slots{grid-template-columns:1fr}.tool-shell .tool-dossier{padding:16px}.tool-shell .portal-card{grid-template-columns:1fr auto}}@media (prefers-reduced-motion:reduce){.tool-scene,.paper-scene,.ink-progress span,.tool-shell .stamp-slam{animation:none;transform:none}.stage-canvas{transition:none}}.stage-keyvisual{transition:opacity .12s;position:absolute;inset:0}.stage-inside,.stage-static[data-scene=inside] .stage-outside{opacity:0}.stage-static[data-scene=inside] .stage-inside{opacity:1}.stage-house-shapes{fill:var(--night-950)}.stage-house-window{fill:var(--moon);opacity:.18}.stage-path{fill:var(--night-800);opacity:.65}.stage-gate rect,.stage-hedge{fill:var(--night-900)}.stage-gate path{stroke:var(--night-800);stroke-width:2px;fill:none}.stage-shaft-stop{stop-color:var(--moon)}.stage-moon{width:64px;height:64px;box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--moon) 18%, transparent)}.stage-moon:before{content:"";background:radial-gradient(circle, var(--moon), transparent 70%);opacity:.08;border-radius:50%;position:absolute;inset:-24px}.stage-moon-outside{width:128px;height:128px;top:19%;left:62%}.stage-lamp{opacity:.25;width:29vh;height:29vh}.stage-lantern{border:4px solid var(--night-800);background:color-mix(in oklab, var(--moon) 45%, var(--night-800));border-radius:5px;width:24px;height:36px;position:absolute;top:84.5%;left:calc(77% - 17vh)}.stage-lantern:before{content:"";border:2px solid var(--night-800);border-bottom:0;border-radius:10px 10px 0 0;width:18px;height:10px;position:absolute;top:-14px;left:-1px}.stage-lantern span{opacity:.35;background:radial-gradient(circle, var(--moon), transparent 70%);width:130px;height:130px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:767px){.stage-lantern{display:none}}.tool-shell #tool-main[data-scene=intake]>.tool-scene{animation:none}.stage-static[data-scene=entering] .stage-outside{opacity:0}.stage-static[data-scene=entering] .stage-inside{opacity:1}.stage-art .stage-keyvisual img{object-fit:cover;width:100%;height:100%;display:block;transform:scale(1.025)}@media (min-width:768px){.stage-art .stage-inside img{--plate-width:max(calc(100vw * var(--inside-bleed)), calc(100vh * var(--inside-ratio) * var(--inside-bleed)));--plate-height:max(calc(100vw / var(--inside-ratio) * var(--inside-bleed)), calc(100vh * var(--inside-bleed)));width:var(--plate-width);height:var(--plate-height);max-width:none;left:clamp(calc(100vw - var(--plate-width)), calc(var(--inside-screen) - var(--plate-width) * var(--inside-focus)), 0px);top:calc((100vh - var(--plate-height)) * var(--inside-vertical));position:absolute;transform:none}}@media (min-width:1101px){.tool-shell #tool-main{width:50%;max-width:640px}}.stage-art-scrim{z-index:0;pointer-events:none;background:linear-gradient(180deg, color-mix(in oklab, var(--night-950) 88%, transparent), color-mix(in oklab, var(--night-950) 72%, transparent) 72px, transparent 150px), linear-gradient(90deg, color-mix(in oklab, var(--night-950) 92%, transparent), color-mix(in oklab, var(--night-950) 62%, transparent) 32%, transparent 68%);position:fixed;inset:0}.live-landing .hero-copy h1{text-shadow:0 2px 24px var(--night-950)}.live-landing .hero-description{color:var(--text-1)}.landing-dropzone{box-shadow:0 18px 48px color-mix(in oklab, var(--night-950) 35%, transparent)}@media (max-width:767px){.stage-art-scrim{background:linear-gradient(180deg, color-mix(in oklab, var(--night-950) 72%, transparent), color-mix(in oklab, var(--night-950) 20%, transparent) 42%, color-mix(in oklab, var(--night-950) 82%, transparent))}.live-landing .hero-copy h1:lang(en){max-width:none;font-size:30px;line-height:1.3}}.tool-shell #tool-main{max-width:720px}.passport-booklet{border-radius:var(--radius-card);background:var(--paper-100);max-width:720px;height:calc(100svh - 152px);min-height:440px;box-shadow:3px 3px 0 var(--paper-50), 5px 5px 0 var(--line), var(--shadow-paper);margin-top:28px;position:relative;overflow-x:clip}.passport-booklet:after{content:"";border-inline:1px solid var(--line);pointer-events:none;width:5px;position:absolute;inset:0 auto 0 8px}.passport-booklet>.tool-scene{scrollbar-gutter:stable;overscroll-behavior:contain;transform-origin:0;height:100%;margin:0;padding-left:28px;animation:none;position:relative;overflow:auto}.passport-confirmed-stamp{border:2px solid var(--stamp);outline:1px solid var(--stamp);outline-offset:-5px;color:var(--stamp);flex:none;align-self:flex-start;padding:8px 12px;font-size:13px;font-weight:600;animation:.12s ease-out 16ms both passport-stamp;transform:rotate(-2deg);-webkit-mask-image:repeating-linear-gradient(113deg,#000 0 7px,#0000 7px 7.4px,#000 7.4px 11px);mask-image:repeating-linear-gradient(113deg,#000 0 7px,#0000 7px 7.4px,#000 7.4px 11px)}@keyframes passport-stamp{0%{opacity:.7;transform:scale(1.08)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(-2deg)}}.tool-portals[data-artifact]>.portal-heading,.tool-portals[data-artifact]>.portal-name-row,.tool-portals[data-artifact] .portal-cards,.tool-portals[data-artifact] .artifact-rows,.tool-portals[data-save=true]>:not(.booklet-save):not(button){display:none}.booklet-save.save-sheet{width:100%;max-width:none;max-height:none;box-shadow:none;border:0;margin:0;padding:24px 0;position:relative}.tool-shell .artifact-panel{animation:none}.headline-short{display:none}@media (max-width:399px){.hero-copy h1:lang(en) .headline-full{display:none}.hero-copy h1:lang(en) .headline-short{display:inline}}.stage-moon-bounds{--outside-width:max(102.5vw, calc(102.5vh * 1672 / 941));--outside-height:max(102.5vh, calc(102.5vw * 941 / 1672));left:calc((100vw - var(--outside-width)) * .6 + var(--outside-width) * 1161 / 1672);top:calc(max(160px, 20vh) - var(--outside-height) * 43.5 / 941);width:calc(var(--outside-width) * 86 / 1672);height:calc(var(--outside-height) * 87 / 941);background:0 0;position:absolute}@media (min-width:768px){.stage-art .stage-outside img{--plate-width:max(102.5vw, calc(102.5vh * 1672 / 941));--plate-height:max(102.5vh, calc(102.5vw * 941 / 1672));width:var(--plate-width);height:var(--plate-height);max-width:none;left:calc((100vw - var(--plate-width)) * .6);top:calc(max(160px, 20vh) - var(--plate-height) * 95.5 / 941);position:absolute;transform:none}}@media (max-width:767px){.landing-stage-art .stage-art-scrim{background:linear-gradient(180deg, color-mix(in oklab, var(--night-950) 72%, transparent), color-mix(in oklab, var(--night-950) 60%, transparent) 72px, transparent 150px), linear-gradient(180deg, transparent 25%, color-mix(in oklab, var(--night-950) 20%, transparent) 42%, color-mix(in oklab, var(--night-950) 82%, transparent))}.stage-moon-bounds{--outside-width:max(102.5vw, calc(102.5vh * 720 / 1280));--outside-height:max(102.5vh, calc(102.5vw * 1280 / 720));left:calc((100vw - var(--outside-width)) / 2 + var(--outside-width) * 717 / 941);top:calc((100vh - var(--outside-height)) / 2 + var(--outside-height) * 334 / 1672);width:calc(var(--outside-width) * 79 / 941);height:calc(var(--outside-height) * 82 / 1672)}.passport-booklet{height:calc(100svh - 124px);margin-top:16px}.passport-confirmed-stamp{padding:6px 8px;font-size:12px}}@media (prefers-reduced-motion:reduce){.passport-confirmed-stamp{animation:none}}.tool-challenge{width:100%;min-width:0;min-height:65px}@media (min-width:768px){.tool-shell #tool-main{width:min(50%,640px)}html:is([data-stage-scene=inside],[data-stage-scene=entering]) .tool-shell .passport-booklet{translate:calc(min(100vw,1280px) - 80px - 100%)}}@media (max-width:600px){.tool-shell .room-guest{width:100vw;max-width:none;margin:24px calc(50% - 50vw) 0;padding:0}.tool-shell .room-guest .room-scene{box-shadow:none;border:0;border-radius:0;margin:0}}
.landing-shell{max-width:1200px;margin-inline:auto;padding:0 48px 40px}.landing-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:104px;display:flex}.brand{color:var(--moon);font-size:24px;font-weight:400}.locale-nav{gap:8px;font-size:14px;display:flex}.locale-nav a{min-height:44px;color:var(--text-2);text-underline-offset:6px;place-items:center;padding:8px;display:grid}.locale-nav a[aria-current]{color:var(--moon);text-decoration:underline}.locale-nav a:hover{color:var(--text-1)}.landing-hero{background:radial-gradient(ellipse at 74% 42%, var(--moonlight), var(--night-950) 68%);grid-template-columns:1.1fr 1fr;align-items:center;gap:72px;padding:48px 0 36px;display:grid}.hero-copy h1{letter-spacing:-.035em;text-wrap:balance;max-width:12ch;font-size:clamp(36px,4.2vw,54px);font-weight:400}.hero-copy h1:lang(ja){max-width:11em;font-size:clamp(32px,3.5vw,46px)}.hero-copy h1:lang(ko){max-width:10em}.hero-description{max-width:42ch;color:var(--text-2);margin-top:28px;font-size:17px}.hero-invitation{margin-top:36px}.hero-invitation button{border:1px solid var(--moon);border-radius:var(--radius-chip);background:var(--moon);color:var(--night-950);cursor:default;padding:15px 22px;font-size:15px}.hero-invitation p{color:var(--text-2);margin-top:12px;font-size:14px}.passport-example{justify-self:end;width:100%;max-width:374px}.passport-card{border-radius:var(--radius-card);color:var(--ink);background:var(--paper-50);box-shadow:var(--shadow-panel);border-top:3px solid var(--accent);padding:12px}.passport-heading{justify-content:space-between;align-items:center;gap:12px;padding:4px 5px 12px;font-size:14px;display:flex}.passport-heading .font-mono{font-size:14px;font-weight:400}.passport-portrait{border-radius:var(--radius-chip);width:100%;height:auto;display:block}.passport-details{padding:16px 8px 4px}.passport-name{justify-content:space-between;align-items:center;gap:8px;display:flex}.passport-name h2{font-size:28px;font-weight:400}.passport-level{border:1px solid var(--ink);border-radius:var(--radius-chip);padding:6px 8px;font-size:14px;font-weight:400}.passport-details dl{margin-top:16px;font-size:14px}.passport-details dl>div{justify-content:space-between;gap:12px;margin-top:4px;display:flex}.passport-mrz{border-top:1px solid color-mix(in oklab, var(--ink) 20%, transparent);letter-spacing:.1em;margin-top:16px;padding-top:10px;font-size:14px;font-weight:400}.passport-example figcaption{color:var(--text-2);justify-content:space-between;gap:12px;margin-top:12px;font-size:14px;display:flex}.drop-placeholder{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--night-900);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;width:100%;padding:28px 32px;display:grid}.drop-placeholder>svg{color:var(--moon)}.drop-placeholder h2{font-size:18px;font-weight:500}.drop-placeholder p{color:var(--text-2);max-width:52ch;margin-top:8px;font-size:14px}.drop-placeholder>p{max-width:21ch;margin:0;font-size:14px}@media (max-width:900px){.landing-shell{padding-inline:28px}.landing-hero{gap:32px}.drop-placeholder{grid-template-columns:auto 1fr}.drop-placeholder>p{grid-column:2;max-width:none}}@media (max-width:640px){.landing-shell{padding:0 20px 24px}.landing-header{gap:8px;min-height:80px}.brand{font-size:20px}.locale-nav{gap:0;font-size:14px}.landing-hero{grid-template-columns:1fr;gap:36px;padding-top:36px}.hero-copy h1{max-width:15ch;font-size:36px}.hero-description{margin-top:22px;font-size:16px}.hero-invitation{margin-top:24px}.passport-example{justify-self:center;max-width:340px}.drop-placeholder{gap:16px;padding:24px 20px}}@media (max-width:400px){.landing-header{gap:8px}.locale-nav{gap:0}.locale-nav a{padding-inline:6px}}@media (min-width:390px) and (max-width:767px){.tool-shell .landing-header{min-height:104px}.tool-shell .locale-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:46%;display:grid}}
