:root{--sumi: #2a241e;--shu: #c73e3a;--kin: #c8a24b;--gofun: #f4eeda}.ui-layer{position:absolute;top:0;right:0;bottom:0;left:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;pointer-events:none;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;color:var(--sumi)}.ui-layer>*{pointer-events:auto}.tint{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:multiply;pointer-events:none!important;transition:background-color 1.2s linear}.kasumi{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none!important}.kasumi:before,.kasumi:after{content:"";position:absolute;width:60%;height:26%;background:radial-gradient(ellipse at center,#c8a24b57,#c8a24b00 70%);filter:blur(6px)}.kasumi:before{top:-8%;left:-12%}.kasumi:after{bottom:-9%;right:-14%;width:70%}.dialogue-tap{position:absolute;top:0;right:0;bottom:0;left:0}.dialogue{position:absolute;left:50%;bottom:4.5%;transform:translate(-50%);width:min(620px,88vw);background-size:cover;border:1.5px solid rgba(42,36,30,.55);border-radius:4px;box-shadow:0 6px 24px #140f0a59;padding:14px 22px 16px;animation:rise .25s ease-out}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.dialogue .speaker{font-size:13px;letter-spacing:.2em;color:var(--shu);margin-bottom:4px}.dialogue .line{font-size:19px;line-height:1.7;letter-spacing:.08em}.dialogue .hint{position:absolute;right:14px;bottom:8px;font-size:12px;opacity:.45;animation:blink 1.6s infinite}@keyframes blink{0%,to{opacity:.15}50%{opacity:.55}}.choices{display:flex;gap:12px;margin-top:12px}.choices button{font-family:inherit;font-size:16px;letter-spacing:.1em;padding:8px 18px;cursor:pointer;background:#fffcf0d9;color:var(--sumi);border:1.2px solid rgba(42,36,30,.5);border-radius:3px}.choices button:hover{background:#fff;border-color:var(--shu)}.panel-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#1410186b;animation:fadein .4s ease-out;padding:12px;box-sizing:border-box}@keyframes fadein{0%{opacity:0}to{opacity:1}}.panel{background-size:cover;border:1.5px solid rgba(42,36,30,.55);border-radius:4px;box-shadow:0 10px 40px #0a080680;padding:26px 30px;max-height:100%;box-sizing:border-box}.panel .title{font-size:15px;letter-spacing:.3em;color:var(--shu);text-align:center;margin-bottom:18px}.outfits{display:flex;gap:20px}.outfit{cursor:pointer;text-align:center;border:none;background:none;font-family:inherit;color:var(--sumi)}.outfit .swatch{width:74px;height:96px;border-radius:3px;border:1.5px solid rgba(42,36,30,.6);box-shadow:inset 0 -26px 0 var(--under),0 3px 8px #140f0a40;transition:transform .15s}.outfit:hover .swatch{transform:translateY(-4px)}.outfit .name{margin-top:8px;font-size:15px;letter-spacing:.2em}.letter{writing-mode:vertical-rl;font-size:21px;line-height:2.4;letter-spacing:.14em;padding:34px 40px;min-height:300px;transform:rotate(-1.2deg);position:relative}.letter .sign{font-size:16px;margin-top:auto;color:var(--shu)}.letter img{position:absolute;right:14px;bottom:10px;width:74px;transform:rotate(8deg)}.diary{width:min(560px,90vw);position:relative;display:flex;flex-direction:column;min-height:0}.diary-body{flex:1 1 auto;overflow-y:auto;min-height:0}.diary .sleep-btn{flex:none}.diary .date{font-size:14px;letter-spacing:.3em;margin-bottom:12px;color:var(--shu)}.diary .picture{height:140px;display:flex;align-items:flex-end;justify-content:center;gap:6px;border-bottom:1px solid rgba(42,36,30,.25);margin-bottom:14px;padding-bottom:8px}.diary .picture img{height:100px}.diary .dline{font-size:19px;line-height:2;letter-spacing:.1em}.diary .shiori-row{position:absolute;right:-10px;top:60px;display:flex;flex-direction:column;gap:10px}.shiori{writing-mode:vertical-rl;background:var(--shu);color:var(--gofun);font-family:inherit;font-size:13px;letter-spacing:.22em;border:none;border-radius:0 3px 3px 0;padding:12px 5px;cursor:pointer;box-shadow:2px 2px 6px #140f0a4d}.shiori:hover{filter:brightness(1.12)}.factcard{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;border-radius:4px;display:flex;flex-direction:column;justify-content:center;padding:30px 36px;box-sizing:border-box;animation:flip .3s ease-out}@keyframes flip{0%{transform:rotateY(70deg);opacity:0}to{transform:rotateY(0);opacity:1}}.factcard .tag{font-size:13px;color:var(--shu);letter-spacing:.3em;margin-bottom:12px}.factcard .short{font-size:18px;line-height:2}.factcard .deep{font-size:14.5px;line-height:1.95;margin-top:14px}.factcard .more{align-self:flex-start;margin-top:14px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:14px;color:var(--shu);letter-spacing:.15em;border-bottom:1px solid var(--shu);padding:0 2px 2px}.factcard .back{position:absolute;top:10px;right:14px;background:none;border:none;cursor:pointer;font-size:18px;color:var(--sumi);opacity:.6;font-family:inherit}.sleep-btn{display:block;margin:22px auto 0;font-family:inherit;font-size:16px;letter-spacing:.35em;padding:9px 30px;cursor:pointer;background:var(--sumi);color:var(--gofun);border:none;border-radius:3px}.sleep-btn:hover{background:#3d352c}.hud-book{position:absolute;top:16px;left:16px;width:52px;height:44px;cursor:pointer;background:var(--gofun);border:1.5px solid rgba(42,36,30,.6);border-radius:3px 6px 6px 3px;box-shadow:inset 4px 0 0 var(--shu),0 3px 8px #140f0a4d;display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:12px;letter-spacing:.1em;color:var(--sumi);writing-mode:vertical-rl}.hud-book:hover{transform:translateY(-2px)}.hud-pages{position:absolute;top:66px;left:18px;display:flex;gap:4px;pointer-events:none!important}.hud-pages span{width:6px;height:8px;border-radius:1px;background:#f4eeda47;box-shadow:0 1px 2px #140f0a66}.hud-pages span.on{background:var(--shu)}.hud-marks{position:absolute;top:82px;left:18px;display:flex;gap:5px;pointer-events:none!important}.hud-marks span{width:7px;height:7px;border-radius:50%;background:#f4eeda38;box-shadow:0 1px 2px #140f0a66}.hud-marks span.on{background:var(--kin);box-shadow:0 0 6px #c8a24bd9,0 1px 2px #140f0a66}.hud-time{position:absolute;top:14px;right:16px;text-align:center;pointer-events:none!important}.hud-time .date{font-size:13px;letter-spacing:.2em;color:var(--gofun);text-shadow:0 1px 3px rgba(20,15,10,.7);writing-mode:vertical-rl;margin:6px auto 0}.hud-cam{position:absolute;right:16px;bottom:18px;display:flex;gap:8px}.hud-cam button{width:42px;height:42px;cursor:pointer;font-family:inherit;font-size:20px;color:var(--sumi);background:var(--gofun);background-size:cover;border:1.5px solid rgba(42,36,30,.55);border-radius:50%;box-shadow:0 3px 10px #140f0a59;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.hud-cam button:hover{transform:translateY(-2px)}.hint-ribbon{position:absolute;top:14px;left:50%;transform:translate(-50%);max-width:min(560px,86vw);background:var(--gofun);background-size:cover;border:1.2px solid rgba(42,36,30,.5);border-radius:3px;box-shadow:0 4px 14px #140f0a4d;padding:8px 18px;font-size:14px;letter-spacing:.06em;color:var(--sumi);cursor:pointer;animation:ribbonin 6.5s ease forwards}@keyframes ribbonin{0%{opacity:0;transform:translate(-50%,-10px)}6%{opacity:1;transform:translate(-50%)}88%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}.scene-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#17130e;opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:40}.scene-fade.on{opacity:1;pointer-events:auto}.panel-note{font-size:13px;line-height:1.7;letter-spacing:.05em;color:#2a241ec7;text-align:center;max-width:330px;margin:-8px auto 16px}.toast{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:10px;background:var(--gofun);background-size:cover;border:1.5px solid rgba(42,36,30,.55);border-radius:4px;padding:8px 16px 8px 8px;box-shadow:0 4px 14px #140f0a59;animation:toastin 2.4s ease forwards;pointer-events:none!important}.toast img{height:52px}.toast .kana{font-size:16px;letter-spacing:.15em}@keyframes toastin{0%{opacity:0;transform:translateY(14px)}12%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.page-toast{position:absolute;top:15%;left:50%;transform:translate(-50%);min-width:168px;max-width:74vw;background:var(--gofun);background-size:cover;border:1.5px solid rgba(42,36,30,.5);border-radius:5px;border-left:4px solid var(--kin);padding:9px 22px;text-align:center;box-shadow:0 5px 18px #140f0a66;animation:pagetoastin 4.2s ease forwards;pointer-events:none!important}.page-toast .pt-head{font-size:10px;letter-spacing:.24em;color:var(--shu);opacity:.85}.page-toast .pt-title{font-size:17px;letter-spacing:.12em;margin:4px 0 3px;color:var(--sumi)}.page-toast .pt-foot{font-size:10px;letter-spacing:.18em;color:var(--sumi);opacity:.5}@keyframes pagetoastin{0%{opacity:0;transform:translate(-50%,-10px)}8%{opacity:1;transform:translate(-50%)}88%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}.book{width:min(600px,92vw);max-height:100%;overflow-y:auto;position:relative}.book .tabs{display:flex;flex-wrap:wrap;gap:10px;row-gap:8px;margin-bottom:16px}.book .tabs button{font-family:inherit;font-size:14px;letter-spacing:.25em;padding:6px 18px;cursor:pointer;border-radius:3px;border:1.2px solid rgba(42,36,30,.5);background:#fffcf099;color:var(--sumi)}.book .tabs button.on{background:var(--shu);color:var(--gofun);border-color:var(--shu)}.book .close{position:absolute;top:12px;right:16px;background:none;border:none;cursor:pointer;font-size:20px;color:var(--sumi);opacity:.6;font-family:inherit}.zufu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.zufu-cell{text-align:center;padding:10px 4px 12px;border:1px solid rgba(42,36,30,.2);border-radius:3px}.zufu-cell img{height:84px}.zufu-cell .kana{font-size:14px;letter-spacing:.2em;margin-top:4px}.zufu-cell.unknown{opacity:.35}.zufu-cell.unknown .q{font-size:40px;line-height:84px;display:block;opacity:.5}.book-page{border-bottom:1px dashed rgba(42,36,30,.3);padding:12px 4px}.book-page .date{font-size:12px;color:var(--shu);letter-spacing:.25em}.book-page .dline{font-size:16px;line-height:1.9}.book-page img{height:44px;margin-right:4px}.book-empty{font-size:14px;opacity:.55;letter-spacing:.2em;padding:20px 0}.nenpyo{display:flex;flex-direction:column}.nenpyo-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(42,36,30,.25)}.nenpyo-title{font-size:15px;letter-spacing:.28em;color:var(--shu)}.nenpyo-count{font-size:12px;letter-spacing:.12em;opacity:.7}.nenpyo-list{display:flex;flex-direction:column;gap:7px}.tl-item{border:1px solid rgba(42,36,30,.22);border-left:3px solid var(--shu);border-radius:3px;padding:9px 12px;cursor:pointer;background:#fffcf080}.tl-item:hover{border-color:var(--shu)}.tl-item.unseen{border-left-color:#2a241e4d;background:#fffcf052}.tl-row{display:flex;align-items:baseline;gap:12px}.tl-year{flex:none;width:3em;text-align:right;font-size:15px;letter-spacing:.03em;color:var(--shu);font-weight:600}.tl-item.unseen .tl-year{color:var(--sumi);opacity:.75}.tl-body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.tl-title{font-size:15px;letter-spacing:.06em}.tl-meta{font-size:11.5px;letter-spacing:.08em;opacity:.65}.tl-seal{flex:none;align-self:center;width:32px;height:32px;border-radius:50%;border:1.6px solid rgba(199,62,58,.7);color:var(--shu);display:flex;align-items:center;justify-content:center;font-size:10.5px;letter-spacing:.06em;transform:rotate(-8deg);opacity:.85}.tl-line{font-size:13.5px;line-height:1.7;margin-top:6px;opacity:.85}.tl-deep{font-size:13.5px;line-height:1.95;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(42,36,30,.3)}.nenpyo-foot{font-size:11.5px;letter-spacing:.14em;opacity:.5;margin-top:12px;text-align:center}.shiori-list{display:flex;flex-direction:column;gap:8px}.shiori-item{border:1px solid rgba(42,36,30,.25);border-radius:3px;padding:10px 14px;cursor:pointer;background:#fffcf080}.shiori-item:hover{border-color:var(--shu)}.shiori-item .row{display:flex;align-items:baseline;gap:12px}.shiori-item .tag{flex:none;font-size:12px;color:var(--gofun);background:var(--shu);border-radius:2px;padding:2px 8px;letter-spacing:.15em}.shiori-item .short{font-size:14.5px;letter-spacing:.05em}.shiori-item .deep{font-size:13.5px;line-height:1.9;margin-top:10px;padding-top:8px;border-top:1px dashed rgba(42,36,30,.3)}@keyframes storyfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rotate-guard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#17181c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,sans-serif}.rotate-phone{width:34px;height:58px;border:3px solid #e8e6df;border-radius:7px;animation:rotate-hint 1.8s ease-in-out infinite}@keyframes rotate-hint{0%,25%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}.rotate-text{color:#e8e6df;font-size:17px;letter-spacing:.14em}.rotate-count{color:#8b877c;font-size:13px;letter-spacing:.1em}html.force-landscape #root{position:fixed;top:0;left:0;width:100vh;height:100vw;width:100dvh;height:100dvw;transform:rotate(90deg) translateY(-100%);transform-origin:top left}.home-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1612;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}.home-head{text-align:center;z-index:1}.home-title{color:var(--gofun);font-weight:500;margin:0 0 9px;font-size:30px;letter-spacing:.42em;text-shadow:0 0 26px rgba(200,162,75,.4)}.home-sub{color:var(--kin);font-size:13px;letter-spacing:.46em}.shelf{display:flex;align-items:center;gap:12px;max-width:92%;padding:16px 26px 20px;overflow-x:auto;overflow-y:hidden;border-top:1px solid rgba(200,162,75,.22);border-bottom:1px solid rgba(200,162,75,.22);-webkit-overflow-scrolling:touch;scrollbar-width:none}.shelf::-webkit-scrollbar{display:none}.spine{position:relative;flex:none;width:58px;height:176px;display:flex;align-items:center;justify-content:center;border:1.2px solid rgba(244,238,218,.16);border-radius:3px;background:linear-gradient(180deg,#3a32288c,#26201ac7);font-family:inherit}.spine .ename{writing-mode:vertical-rl;font-size:22px;letter-spacing:.18em;color:#f4eeda85}.spine .top{position:absolute;top:10px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.12em;color:#f4eeda61}.spine .eyear{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:9.5px;letter-spacing:.06em;color:#f4eeda66}.spine.locked{filter:saturate(.55)}.spine.on{cursor:pointer;width:66px;height:196px;border-color:#c8a24bd9;background:linear-gradient(180deg,#7c3c36b3,#562622d9);box-shadow:0 0 22px #c8a24b52,0 6px 16px #0a080680;transition:transform .15s}.spine.on .ename{font-size:26px;color:var(--gofun);letter-spacing:.2em}.spine.on .top{color:var(--kin);font-size:11px;letter-spacing:.2em}.spine.on .eyear{color:#f4eedab8}.spine.on:hover{transform:translateY(-5px)}.home-foot{color:#f4eeda6b;font-size:12px;letter-spacing:.3em}.guide-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#17181c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,sans-serif}.guide-head{color:var(--kin);font-size:13px;letter-spacing:.42em}.guide-rows{display:flex;flex-direction:column;gap:15px}.guide-row{display:flex;align-items:baseline;gap:18px}.guide-verb{color:#e8e6df;font-size:22px;letter-spacing:.28em;min-width:3.6em;text-align:right}.guide-gloss{color:#a7a49b;font-size:14px;letter-spacing:.1em}.guide-note{color:#8b877c;font-size:12.5px;letter-spacing:.14em;margin-top:4px}.guide-controls{color:#6f6c64;font-size:11.5px;letter-spacing:.1em;margin-top:-6px}.guide-start{margin-top:12px;font-family:inherit;font-size:16px;letter-spacing:.3em;padding:10px 32px;cursor:pointer;color:var(--gofun);background:none;border:1.2px solid rgba(200,162,75,.7);border-radius:3px}.guide-start:hover{background:#c8a24b29}.title-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1612;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px}.title-back{position:absolute;top:18px;left:18px;z-index:2;font-family:inherit;font-size:13px;letter-spacing:.2em;color:#f4eedab3;background:none;border:none;cursor:pointer}.title-back:hover{color:var(--gofun)}.title-screen .title-main{display:flex;flex-direction:column;align-items:center;gap:16px}.title-screen h1{writing-mode:vertical-rl;color:var(--gofun);font-weight:500;font-size:44px;letter-spacing:.35em;margin:0;text-shadow:0 0 30px rgba(200,162,75,.4)}.title-screen .sub{writing-mode:vertical-rl;color:var(--kin);font-size:17px;letter-spacing:.4em}.title-screen .titlerow{display:flex;gap:26px;align-items:center}.title-screen .tagline{color:var(--kin);font-size:13px;letter-spacing:.3em;opacity:.85}.title-screen .buttons{display:flex;gap:18px}.title-screen button{font-family:inherit;font-size:16px;letter-spacing:.3em;padding:11px 34px;cursor:pointer;background:none;color:var(--gofun);border:1.2px solid rgba(200,162,75,.7);border-radius:3px}.title-screen button:hover{background:#c8a24b29}.touch-prompt{position:absolute;bottom:20px;left:50%;transform:translate(-50%);animation:touchpromptin .3s ease-out}.touch-prompt button{display:flex;align-items:center;gap:12px;font-family:inherit;cursor:pointer;background:#f4eedaf0;background-size:cover;border:1.5px solid rgba(42,36,30,.5);border-left:3px solid var(--kin);border-radius:6px;padding:9px 20px;box-shadow:0 4px 16px #140f0a66;color:var(--sumi)}.touch-prompt button:hover{background:#fffcf0fc;transform:translateY(-1px)}.touch-prompt button:active{transform:translateY(1px)}.tp-label{font-size:16px;letter-spacing:.14em}.tp-key{flex:none;font-size:10.5px;letter-spacing:.12em;color:var(--sumi);opacity:.72;border:1px solid rgba(42,36,30,.4);border-radius:3px;padding:2px 8px;background:#2a241e0f}@keyframes touchpromptin{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.yoi-quiz{flex:none;margin:14px 0 2px;padding-top:13px;border-top:1px dashed rgba(42,36,30,.3)}.yq-head{font-size:11px;letter-spacing:.3em;color:var(--shu);opacity:.9;text-align:center}.yq-q{font-size:16px;line-height:1.8;letter-spacing:.06em;text-align:center;margin:8px 0 12px}.yq-choices{display:flex;flex-direction:column;gap:8px}.yq-choice{font-family:inherit;font-size:15px;letter-spacing:.08em;padding:9px 16px;cursor:pointer;background:#fffcf099;color:var(--sumi);border:1.2px solid rgba(42,36,30,.4);border-radius:4px;transition:background .2s,border-color .2s,opacity .2s}.yq-choice:hover:not(:disabled){border-color:var(--shu)}.yq-choice:disabled{cursor:default}.yq-choice.right{background:#c8a24b38;color:var(--sumi);border-color:var(--kin);box-shadow:0 0 0 1px var(--kin) inset}.yq-choice.wrong{background:#b0523e24;border-color:#b0523e;color:#8a3e30}.yq-choice.dim{opacity:.42}.yq-note{font-size:13.5px;line-height:1.85;letter-spacing:.04em;margin-top:12px;padding:10px 14px;background:#2a241e0d;border-radius:4px;border-left:3px solid var(--kin);animation:yqnotein .4s ease-out}@keyframes yqnotein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tl-hint{color:#7a5230;letter-spacing:.08em}.era-strip{display:flex;flex-wrap:wrap;gap:4px;row-gap:5px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px dashed rgba(42,36,30,.3)}.era-chip{font-size:10.5px;letter-spacing:.1em;padding:2px 7px;border:1px solid rgba(42,36,30,.3);border-radius:2px;color:var(--sumi);opacity:.55;background:#fffcf066}.era-chip.now{opacity:1;color:var(--gofun);background:var(--shu);border-color:var(--shu)}.exam-sheet{background:#fdfdf8;color:#23252b;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,sans-serif;border:1px solid rgba(35,37,43,.18);box-shadow:0 4px 18px #0f0c0a47;padding:16px 20px 18px;transform:rotate(-.6deg)}.ex-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:2.5px double #23252b;padding-bottom:7px}.ex-subject{font-size:11px;letter-spacing:.2em}.ex-title{font-size:14.5px;font-weight:600;letter-spacing:.14em}.ex-name{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;font-size:10.5px;letter-spacing:.16em;margin:7px 0 4px;opacity:.85}.ex-name-slot{display:inline-block;min-width:7em;text-align:center;border-bottom:1px solid #23252b;padding:0 6px 1px}.ex-qs{display:flex;flex-direction:column}.ex-q{padding:7px 0;border-bottom:1px dotted rgba(35,37,43,.28)}.ex-q:last-child{border-bottom:none}.ex-qrow{display:flex;align-items:baseline;gap:12px}.ex-src{text-align:right;font-size:10px;letter-spacing:.06em;color:#8a8578;margin-top:2px}.ex-qtext{flex:1 1 auto;font-size:12px;line-height:1.75;min-width:0}.ex-no{font-size:10.5px;font-weight:600;letter-spacing:.1em;border:1px solid #23252b;border-radius:2px;padding:0 4px;margin-right:8px;white-space:nowrap}.ex-a{flex:none;width:8.5em;min-height:1.5em;align-self:center;border-bottom:1px solid rgba(35,37,43,.55);text-align:center}.ex-ink{font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:14.5px;color:#223361;letter-spacing:.04em;display:inline-block;transform:rotate(-1.6deg) translateY(1px)}.ex-a.inked{border-bottom-color:#23252b4d}.exam-sheet .ex-ink{animation:inkin .5s ease-out backwards}@keyframes inkin{0%{opacity:0;clip-path:inset(0 100% 0 0)}60%{opacity:1}to{opacity:1;clip-path:inset(0 -8% 0 0)}}.ex-hint{font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:10.5px;color:#8a7a5c;letter-spacing:.06em}.exam-tab{display:flex;flex-direction:column}.exam-tab-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(42,36,30,.25)}.exam-tab-title{font-size:15px;letter-spacing:.28em;color:var(--shu)}.exam-tab .exam-sheet{margin:2px 6px 4px}.exam-tab .nenpyo-foot{margin-top:14px}.cls-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#17181c;cursor:pointer;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,sans-serif}.cls-board{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;animation:fadein 1.2s ease-out}.cls-board-date{color:#a7a49b;font-size:14px;letter-spacing:.3em}.cls-board-subj{color:#e8e6df;font-size:24px;letter-spacing:.42em}.cls-room{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#23252b,#2b2d33 46%,#4a4038 47%,#3a322b);transition:filter .9s ease}.cls-desk{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:min(430px,76vw)}.cls-desk .exam-sheet{max-height:64vh;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 99%);mask-image:linear-gradient(180deg,#000 78%,transparent 99%)}.cls-clock{position:absolute;top:14px;right:118px}.cls-clock-face{position:relative;width:64px;height:64px;border-radius:50%;background:#e8e6df;border:3px solid #3a3c42;box-shadow:0 3px 10px #0006}.cls-clock-dot{position:absolute;left:50%;top:50%;width:2px;height:5px;margin:-2.5px 0 0 -1px;background:#55575c}.cls-hand-h,.cls-hand-m,.cls-hand-s{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%}.cls-hand-h{width:3px;height:14px;margin-left:-1.5px;background:#2a2c30;transform:rotate(320deg)}.cls-hand-m{width:2px;height:21px;margin-left:-1px;background:#2a2c30;transform:rotate(150deg)}.cls-hand-s{width:1px;height:24px;margin-left:-.5px;background:#c73e3a;animation:clockspin 60s steps(60) infinite}@keyframes clockspin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cls-line{position:absolute;left:50%;bottom:9%;transform:translate(-50%);color:#e8e6df;font-size:18px;letter-spacing:.12em;line-height:1.9;width:max-content;max-width:86vw;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.75);animation:storyfade .7s ease-out}.cls-tap-hint{position:absolute;left:50%;bottom:6%;transform:translate(-50%);color:#8b877c;font-size:13px;letter-spacing:.3em;animation:blink 1.8s infinite}.cls-lids{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cls-lid{position:absolute;left:0;right:0;height:51%;background:#060608}.cls-lid.top{top:0;transform:translateY(-101%);animation:lidtop var(--blink, .5s) ease-in-out}.cls-lid.bottom{bottom:0;transform:translateY(101%);animation:lidbottom var(--blink, .5s) ease-in-out}@keyframes lidtop{0%{transform:translateY(-101%)}42%{transform:translateY(0)}62%{transform:translateY(0)}to{transform:translateY(-101%)}}@keyframes lidbottom{0%{transform:translateY(101%)}42%{transform:translateY(0)}62%{transform:translateY(0)}to{transform:translateY(101%)}}.cls-lids.opening .cls-lid.top{animation:lidopen-t 1.9s ease-in-out forwards}.cls-lids.opening .cls-lid.bottom{animation:lidopen-b 1.9s ease-in-out forwards}@keyframes lidopen-t{0%{transform:translateY(0)}18%{transform:translateY(-24%)}34%{transform:translateY(-6%)}to{transform:translateY(-101%)}}@keyframes lidopen-b{0%{transform:translateY(0)}18%{transform:translateY(24%)}34%{transform:translateY(6%)}to{transform:translateY(101%)}}.cls-black{position:absolute;top:0;right:0;bottom:0;left:0;background:#060608;animation:fadein .7s ease-out}.cls-slip{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b0910;overflow:hidden}.slip-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 62% at 50% 108%,rgba(200,162,75,.5),rgba(160,110,40,.16) 55%,transparent 75%);animation:glowrise 4.6s ease-out forwards}@keyframes glowrise{0%{opacity:0;transform:translateY(24%)}to{opacity:1;transform:translateY(0)}}.slip-year{position:absolute;bottom:-8%;color:#deba69d9;font-size:21px;letter-spacing:.1em;font-family:Hiragino Mincho ProN,Yu Mincho,serif;text-shadow:0 0 14px rgba(200,162,75,.55);animation:yearfloat 4s ease-in both}@keyframes yearfloat{0%{transform:translateY(0);opacity:0}18%{opacity:.95}to{transform:translateY(-78vh) rotate(6deg);opacity:0}}.slip-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);writing-mode:vertical-rl;font-family:Hiragino Mincho ProN,Yu Mincho,serif;display:flex;align-items:center;gap:10px;animation:storyfade 1.6s ease-out 1.2s backwards}.slip-title-sub{color:#f4eedab8;font-size:16px;letter-spacing:.3em}.slip-title-era{color:var(--gofun);font-size:44px;letter-spacing:.34em;text-shadow:0 0 30px rgba(200,162,75,.6)}.cls-skip{position:absolute;top:12px;right:14px;z-index:5;font-family:inherit;font-size:12px;letter-spacing:.26em;color:#8b877c;background:#17181c80;border:1px solid rgba(139,135,124,.5);border-radius:3px;padding:6px 14px;cursor:pointer}.cls-skip:hover{color:#e8e6df;border-color:#8b877c}.cls-room.wake{background:linear-gradient(180deg,#b9c4cd,#cfd6da 44%,#8a7a64 45%,#6f6252)}.cls-room.wake .cls-clock-face{border-color:#55575c}.wake-gold{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(222,186,105,.8),rgba(200,162,75,.3) 55%,transparent 78%);animation:wakegold 2.6s ease-out forwards}@keyframes wakegold{0%{opacity:1}to{opacity:0}}.wake-blank-note{position:absolute;left:50%;bottom:4.5%;transform:translate(-50%);color:#f0ede4;font-size:12.5px;letter-spacing:.14em;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.5);animation:storyfade 1s ease-out 1.4s backwards}.wake-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;animation:fadein .9s ease-out}.wake-card-text{color:#e8e6df;font-size:21px;letter-spacing:.24em;text-align:center;max-width:86vw}.wake-card-hint{color:#8b877c;font-size:13px;letter-spacing:.3em;animation:blink 1.8s infinite}@media (max-height: 460px){.cls-desk{width:min(380px,70vw);top:56%}.cls-desk .exam-sheet{max-height:58vh;padding:10px 16px 12px}.cls-desk .ex-q{padding:5px 0}.cls-clock{top:10px;right:104px}.cls-clock-face{width:48px;height:48px}.cls-hand-m{height:16px}.cls-hand-s{height:18px}.cls-line{font-size:15px;bottom:7%}.slip-title-era{font-size:34px}.cls-board-subj{font-size:19px}}@media (max-height: 460px){.title-screen{gap:20px}.title-screen h1{font-size:30px}.title-screen .sub{font-size:14px}.title-screen .titlerow{gap:20px}.title-screen .title-main{gap:10px}.title-screen .tagline{font-size:12px}.title-screen .buttons button{padding:9px 26px;font-size:15px}.home-screen{gap:16px}.home-title{font-size:25px}.spine{height:150px}.spine.on{height:166px}.guide-screen{gap:16px}.guide-verb{font-size:20px}}@media (max-height: 350px){.title-screen{gap:14px}.title-screen h1{font-size:25px}.home-title{font-size:22px}.spine{width:52px;height:132px}.spine.on{width:58px;height:148px}.spine .ename{font-size:19px}.spine.on .ename{font-size:22px}}
