@charset "UTF-8";
:root{--ink:#071012;--gold:#c4ad78;--gold-light:#ecdcaf;--mint:#a4e5cc;--text:#e6e7da;--dim:#899b99;--edge:rgba(180,174,139,.24)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--text);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}button,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button{touch-action:manipulation}#game{display:block;width:100%;height:100%;touch-action:none}#vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 150px 50px #03080c80;background:linear-gradient(#02090c55,transparent 23%,transparent 78%,#02090caa)}#damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 20px #da3b5f;opacity:0;transition:opacity .15s}.hidden{display:none!important}.topbar{position:absolute;top:0;left:0;right:0;height:94px;padding:26px 34px;display:flex;justify-content:space-between;align-items:center;z-index:15;pointer-events:none}.topbar a,.topbar button{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--gold-light)}.brand-sigil{font-size:47px;line-height:1;font-family:serif}.brand small{display:block;font-size:9px;letter-spacing:.36em;margin-bottom:6px;color:#a5b6ac}.brand strong{font-family:Georgia,serif;font-size:19px;letter-spacing:.15em;font-weight:400}.chapter{display:flex;align-items:center;gap:22px;text-align:center}.chapter small{display:block;color:var(--gold);font-size:8px;letter-spacing:.3em;margin-bottom:7px}.chapter div>span{font-family:"Yu Mincho",serif;letter-spacing:.28em;font-size:14px}.hairline{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--edge))}.hairline:last-child{transform:rotate(180deg)}.tools{display:flex;gap:8px}.tools button{background:#0d1b1ca8;border:1px solid var(--edge);padding:9px 13px;font-size:11px;border-radius:3px;color:#b8c7bf}.tools button:hover{border-color:var(--gold)}.quest{position:absolute;left:36px;top:132px;width:258px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:.26em;color:var(--gold);font-weight:500}.quest h2{font-size:18px;font-family:"Yu Mincho",serif;letter-spacing:.05em;font-weight:400;margin:13px 0}.quest p{font-size:11px;line-height:1.9;color:#afbfb9;margin:0;min-height:40px}.seals{display:flex;align-items:center;gap:12px;margin:24px 0 19px}.seals i{display:block;width:9px;height:9px;border:1px solid #819891;transform:rotate(45deg)}.seals i.on{background:var(--mint);box-shadow:0 0 12px #a4e5cc}.seals span{width:45px;height:1px;background:var(--edge)}.quest-count{border-top:1px solid var(--edge);padding-top:12px;display:flex;justify-content:space-between;color:#8b9d99;font-size:10px;letter-spacing:.06em}.map-panel{position:absolute;right:34px;top:118px;width:184px;padding:14px 10px 9px;background:linear-gradient(150deg,#142328c9,#061015bb);border:1px solid var(--edge);border-radius:2px;pointer-events:none}.map-panel>div{display:flex;justify-content:space-between;padding:0 5px;font-size:9px;color:var(--dim)}.map-panel>div small{font-size:10px;letter-spacing:.09em}.map-panel canvas{width:160px;height:120px;display:block;margin:0 auto}.map-legend{font-size:8px;color:#8fa6a0;display:block;text-align:center;letter-spacing:.06em}#boss-bar{position:absolute;top:105px;width:min(440px,40vw);left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}#boss-bar>small{color:#b999d2;font:8px Georgia,serif;letter-spacing:.3em}#boss-bar h2{font-family:"Yu Mincho",serif;font-size:15px;font-weight:400;margin:8px 0 12px}.boss-track{height:7px;border:1px solid #89718c;background:#130e1e;padding:1px;transform:skewX(-15deg)}.boss-track i{height:3px;display:block;background:linear-gradient(90deg,#783761,#da91b3);width:100%;transition:width .2s}#boss-phase{font-size:8px;color:#bba3c2;display:block;letter-spacing:.18em;margin:8px}#area-banner{position:absolute;left:50%;top:31%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;opacity:0;transition:opacity .7s;text-shadow:0 3px 20px #000}#area-banner small{display:block;font:10px Georgia,serif;letter-spacing:.4em;color:var(--gold);margin-bottom:18px}#area-banner strong{font-family:"Yu Mincho",serif;font-weight:400;font-size:36px;letter-spacing:.3em}#toast{position:absolute;left:50%;bottom:222px;transform:translateX(-50%);padding:10px 23px;border:1px solid var(--edge);background:#09191dd9;border-radius:3px;opacity:0;transition:opacity .25s;font-size:12px;letter-spacing:.03em;text-align:center;pointer-events:none;max-width:75vw}#combo{position:absolute;top:43%;right:50px;opacity:0;text-align:center;color:var(--gold-light);pointer-events:none}#combo strong{display:block;font:italic 46px Georgia,serif}#combo span{font-size:8px;letter-spacing:.3em}#interact{position:absolute;left:50%;bottom:245px;transform:translateX(-50%);background:#071519d9;border:1px solid var(--gold);padding:10px 17px;display:flex;gap:12px;align-items:center;font-size:12px}kbd{font-family:inherit;border:1px solid #5b706b;border-bottom-width:2px;border-radius:3px;padding:3px 7px;font-size:10px;color:#bccdc7;background:#142425}.combat-bar{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:19px;pointer-events:none}.orb-wrap{text-align:center;position:relative;align-self:flex-end;margin-bottom:35px}.orb{width:83px;height:83px;border-radius:50%;border:3px solid #817356;box-shadow:0 0 0 3px #151f20,0 0 0 4px #82765866,0 8px 22px #000;position:relative;overflow:hidden;background:#120f1b}.orb::after{content:"";position:absolute;inset:4px;border:1px solid #f0dfad24;border-radius:50%}.liquid{position:absolute;bottom:0;left:0;width:100%;height:100%;transition:height .25s;box-shadow:inset 0 0 25px #0008}.life .liquid{background:radial-gradient(ellipse at 40% 30%,#fb7c7770,transparent 70%),linear-gradient(#bb3f55,#5b142f)}.mana .liquid{background:radial-gradient(ellipse at 40% 30%,#96efca70,transparent 70%),linear-gradient(#317e83,#143c55)}.orb-shine{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 20%,#fff5,transparent 30%),radial-gradient(ellipse at 70% 85%,#ffffff19,transparent 36%)}.orb strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:21px Georgia,serif;text-shadow:0 2px 5px #000}.orb-wrap>small{font:8px Georgia,serif;color:var(--gold);letter-spacing:.2em;position:absolute;top:92px;left:0;right:0}.skill-panel{background:linear-gradient(#101c20eb,#071014f5);border:1px solid #8e805b77;padding:12px 14px 8px;box-shadow:0 8px 35px #0009;position:relative}.skill-panel::before,.skill-panel::after{content:"◆";position:absolute;top:-6px;font-size:10px;color:var(--gold);left:-6px}.skill-panel::after{left:auto;right:-6px}.hero-status{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:#b6c7bd;margin-bottom:10px}#level{color:var(--gold-light);margin-left:auto;margin-right:23px}.xp-track{height:2px;background:#263536;margin-bottom:10px}.xp-track i{display:block;width:0;height:2px;background:var(--gold);box-shadow:0 0 8px #c4ad7888;transition:width .2s}.skill-row{display:flex;gap:7px}.skill{pointer-events:auto;width:77px;height:75px;position:relative;border:1px solid #5c685951;background:linear-gradient(135deg,#213a3859,#0a151c);border-radius:2px;overflow:hidden;padding:20px 0 3px}.skill:hover{border-color:var(--gold);background:#223c39}.skill kbd{position:absolute;top:0;left:0;font-size:8px;padding:2px 4px;border:0;border-right:1px solid #54665855;border-bottom:1px solid #54665855;border-radius:0;color:#a4b3aa;z-index:3}.skill b{display:block;font:31px Georgia,serif;line-height:31px;color:var(--mint);text-shadow:0 0 12px #66e5c555}.skill:nth-child(2) b{color:#dbd4a9}.skill:nth-child(3) b{color:#b7b8e8}.skill:nth-child(4) b{color:#abc9ce}.skill:nth-child(5) b{color:#dfb592}.skill span{display:block;font-size:8px;letter-spacing:.03em;color:#b2bcb1;white-space:nowrap;margin-top:5px}.cd{position:absolute;inset:0;top:auto;height:0;background:#030b14ba;pointer-events:none}.skill em{font:17px Georgia,serif;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e3dbbd;text-shadow:0 1px 8px #000;pointer-events:none}.controls-foot{text-align:center;color:#7b8e89;font-size:8px;margin:10px 0 0}.controls-foot span{margin:0 7px}.overlay{position:absolute;inset:0;z-index:10}.intro{background:linear-gradient(90deg,#061014f5 0%,#061014e8 23%,#0610148a 48%,transparent 80%)}.intro-copy{position:absolute;left:8%;top:50%;transform:translateY(-48%);width:390px}.intro-copy>.eyebrow{font-size:9px;letter-spacing:.37em;margin:0 0 23px}.intro h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:85px;line-height:.87;letter-spacing:.075em;margin:0;color:#e7e1cd;text-shadow:0 0 40px #b4d6bc16}.intro h1 span{font-size:83px;color:#c4ad78}.subtitle{display:flex;align-items:center;gap:17px;color:#ddd0b1;font-family:"Yu Mincho",serif;letter-spacing:.35em;font-size:16px;margin:25px 0}.subtitle>span{width:38px;height:1px;background:var(--gold)}.story{font-size:11px;line-height:2.2;color:#9eb1ac;margin:0 0 24px}.hero-select{display:flex;gap:9px;margin-bottom:20px}.hero-option{width:106px;background:#15252288;border:1px solid #79958c33;border-radius:3px;padding:0 4px 12px;transition:.2s}.hero-option.selected{border-color:#b2cba4;background:linear-gradient(#2b493688,#172725);box-shadow:0 0 20px #c0f5c80b}.hero-option:hover{transform:translateY(-3px)}.hero-option strong{display:block;font-size:11px;font-weight:500;margin-top:0}.hero-option small{color:#93a89b;font-size:8px;display:block;margin-top:6px}.portrait{height:79px;width:72px;margin:0 auto 4px;background-size:576px 858px;background-repeat:no-repeat;background-position:0 0;image-rendering:auto}.portrait.kochan{background-image:url('assets/pet_kochan.webp')}.portrait.chappie{background-image:url('assets/pet_chappie.webp')}.portrait.kuroko{background-image:url('assets/pet_kuroko.webp')}.start-options{display:flex;justify-content:space-between;align-items:center;width:337px;margin-bottom:15px;color:#8b9e96;font-size:9px}.start-options select{background:#142421;border:1px solid #6e82624d;color:#c2c9b3;font-size:10px;padding:6px;border-radius:2px;margin-left:7px}.primary{border:1px solid #dac38c;background:linear-gradient(110deg,#b09b68,#d5c08a);color:#142220;padding:16px 24px;width:100%;font-size:12px;letter-spacing:.13em;box-shadow:0 0 30px #ccb57514;font-weight:600;border-radius:2px}.intro .primary{width:337px;text-align:left;display:flex;justify-content:space-between}.primary:hover{background:#e0d0a5;box-shadow:0 0 30px #ccb57533}.intro-hint{color:#728983;font-size:9px;line-height:1.8;margin-top:15px;letter-spacing:.04em}.intro-caption{position:absolute;right:7%;bottom:14%;text-align:right;text-shadow:0 2px 12px #000}.intro-caption small{display:block;font:10px Georgia,serif;letter-spacing:.32em;color:#d0ba88;margin-bottom:14px}.intro-caption span{font:15px "Yu Mincho",serif;letter-spacing:.15em}.build-label{position:absolute;bottom:28px;left:34px;right:34px;font-size:8px;letter-spacing:.18em;color:#748b85}.build-label>span{float:right}.modal{z-index:30;display:grid;place-items:center;background:#030b10ca;backdrop-filter:blur(6px);padding:20px}.modal-inner{max-width:810px;width:100%;text-align:center;border-top:1px solid #bca06b66;border-bottom:1px solid #bca06b66;background:linear-gradient(110deg,#142628dd,#0c191eee);padding:36px 30px}.modal h2{font:30px "Yu Mincho",serif;color:#e9dfc5;letter-spacing:.09em;margin:18px 0}.modal p:not(.eyebrow){font-size:12px;color:#a4b8b0;line-height:1.9}.modal-inner>small{font-size:10px;color:#7b958c}#upgrade-cards{display:flex;gap:15px;margin:28px 0}.upgrade-card{flex:1;background:linear-gradient(#24393888,#152023);border:1px solid #9b94744d;padding:25px 18px;text-align:left;min-height:180px;transition:.2s}.upgrade-card:hover{border-color:var(--gold);transform:translateY(-4px)}.upgrade-card b{font:34px Georgia,serif;color:var(--gold-light);display:block;margin-bottom:20px}.upgrade-card strong{display:block;font-size:15px;font-weight:400;margin-bottom:15px}.upgrade-card span{font-size:11px;line-height:1.9;color:#9db4a9;display:block}.pause-inner{max-width:460px;padding:24px 30px}.pause-inner h2{font-size:25px}.instructions{margin:20px 0}.instructions p{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #7d8f7730;padding-bottom:8px;gap:15px}.instructions p span{font-size:10px;text-align:right}.instructions kbd{font-size:9px}.tip{font-size:10px!important;margin-bottom:20px}.text-btn{border:0;background:none;color:#9daea1;font-size:11px;padding:15px 10px}.result-inner{max-width:560px}.result-sigil{font-size:76px;font-family:Georgia,serif;color:var(--gold);margin:5px 0}#result-stats{display:flex;justify-content:center;gap:32px;margin:28px 0 35px}#result-stats strong{font:28px Georgia,serif;color:var(--gold-light);display:block}#result-stats span{font-size:9px;display:block;color:#8fa59a;margin-top:9px}#joystick,.touch-note{display:none}
@media(max-height:760px) and (min-width:800px){.intro-copy{transform:translateY(-47%) scale(.87);transform-origin:left center}.topbar{height:76px;padding:20px 28px}.quest{top:110px}.map-panel{top:95px}.combat-bar{bottom:12px;transform:translateX(-50%) scale(.9);transform-origin:center bottom}}
@media(max-width:800px){.topbar{padding:16px;height:66px}.brand strong{font-size:14px}.brand small{font-size:7px}.brand-sigil{font-size:35px}.chapter{display:none}.tools button{padding:8px;font-size:10px}.tools button span{display:none}.intro-copy{left:7%;width:86%;top:51%;transform:translateY(-48%)}.intro h1{font-size:66px}.intro h1 span{font-size:64px}.intro-copy>.eyebrow{margin-bottom:16px}.intro .story{font-size:10px;margin-bottom:16px}.subtitle{margin:18px 0}.intro-caption{display:none}.intro{background:linear-gradient(90deg,#061014ed,#06101499)}.build-label{left:20px;bottom:15px;font-size:7px}.build-label>span{display:none}.hero-select{margin-bottom:12px}.hero-option{width:98px}.hero-option .portrait{height:64px;width:59px;background-size:472px 703px}.intro .primary,.start-options{width:312px;max-width:100%}.quest{top:86px;left:18px;width:205px}.quest h2{font-size:15px;margin:10px 0}.quest p{font-size:10px}.seals{margin:15px 0}.quest-count{font-size:9px}.map-panel{right:14px;top:85px;width:110px;padding:8px 3px}.map-panel canvas{width:100px;height:75px}.map-legend{font-size:6px}.map-panel>div small{font-size:8px}.combat-bar{bottom:14px;gap:8px;width:calc(100% - 24px);justify-content:center}.orb{width:44px;height:44px;border-width:2px}.orb strong{font-size:15px}.orb-wrap>small{top:51px;font-size:6px}.orb-wrap{margin-bottom:18px}.skill-panel{padding:7px 7px 4px;max-width:calc(100% - 90px)}.skill-row{gap:4px}.skill{width:49px;height:60px;padding-top:17px}.skill b{font-size:23px;line-height:23px}.skill span{font-size:6px;letter-spacing:0}.skill kbd{font-size:6px}.hero-status{font-size:8px;margin-bottom:7px}.xp-track{margin-bottom:7px}.controls-foot{display:none}#toast{bottom:158px;width:max-content;max-width:85vw;font-size:10px}#interact{bottom:166px}#boss-bar{top:220px;width:70vw}#boss-bar h2{font-size:12px}#combo{right:24px;top:50%}#area-banner strong{font-size:25px}.modal-inner{padding:24px 17px}.modal h2{font-size:24px}#upgrade-cards{gap:8px}.upgrade-card{padding:17px 10px;min-height:185px}.upgrade-card strong{font-size:12px}.upgrade-card span{font-size:10px}.upgrade-card b{font-size:26px}.result-inner{max-width:450px}.touch-note{display:block;position:absolute;left:25px;bottom:155px;font-size:9px;color:#84a09688;pointer-events:none}#joystick{position:absolute;width:94px;height:94px;border:1px solid #a4e5cc66;border-radius:50%;background:#18383022;pointer-events:none}#joystick div{position:absolute;left:32px;top:32px;width:28px;height:28px;border:1px solid #a4e5cc88;border-radius:50%;background:#a4e5cc22}}
@media(max-height:570px){.intro-copy{transform:translateY(-47%) scale(.72);transform-origin:left center}.intro-caption{bottom:16%}.quest{top:82px}.map-panel{top:75px}.combat-bar{transform:translateX(-50%) scale(.78);transform-origin:bottom center}.pause-inner{padding:12px 25px}.instructions{margin:5px 0}.instructions p{padding-bottom:4px;margin:5px 0}.pause-inner .eyebrow,.pause-inner .tip{display:none}.pause-inner h2{font-size:20px;margin:7px}.pause-inner .primary{padding:10px}#boss-bar{top:72px}}
/* 押しっぱなし版：主操作はひとつ、手動スキルは補助。 */
#assist-status{font-size:12px;color:#b7baa9;letter-spacing:.07em;margin-bottom:12px}
#assist-status.active{color:#baf4ca;text-shadow:0 0 12px #6edfab66}
.intro-copy h1.new-title{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(54px,6.5vw,94px);letter-spacing:.12em;line-height:1.18;font-weight:600}
#hold-assist{position:fixed;left:50%;bottom:192px;transform:translateX(-50%);padding:12px 25px;background:linear-gradient(135deg,#263d37ed,#101f1ded);color:#e2ebce;border:1px solid #b29b6388;border-radius:30px;font-size:14px;cursor:pointer;pointer-events:auto;touch-action:none;user-select:none;box-shadow:0 8px 30px #0006;z-index:12}
#hold-assist span{font-size:10px;display:block;color:#b0c0ae;margin-top:3px}
#hold-assist:active{background:#48614a;box-shadow:0 0 25px #c3dc7c44}
#toast{bottom:270px}
#party-panel{position:absolute;right:34px;top:330px;width:220px;border-left:2px solid #8db9b2;padding:10px 13px;background:#07131bb5;pointer-events:none}
#party-panel small{display:block;font-size:8px;letter-spacing:.2em;color:#9cbdb7}
#party-panel strong{display:block;margin:9px 0;color:#e3e9d4;font-size:12px;line-height:1.8}
#party-panel span{font-size:10px;color:#a9c0ba}
#story-panel{position:absolute;left:36px;bottom:40px;width:300px;padding:16px 18px;border-left:2px solid #bcb084;background:#051018e8;opacity:0;transition:opacity .4s;pointer-events:none}
#story-panel.visible{opacity:1}
#story-panel strong{font-size:12px;color:#ead8a9}
#story-panel p{font-size:12px;line-height:1.9;margin:7px 0 0;color:#c4d6d6}
.quest .eyebrow{line-height:1.7;letter-spacing:.06em}
.seals{gap:10px}.seals span{width:30px}
@media(max-width:1000px){#story-panel{bottom:340px;left:18px;width:235px}#party-panel{top:280px;right:15px;width:170px}}
@media(max-width:600px){#party-panel{top:214px;right:14px;width:145px;padding:6px 9px}#party-panel strong{font-size:9px;margin:5px 0}#party-panel span{font-size:8px}#story-panel{bottom:215px;left:18px;width:calc(100% - 36px);padding:9px 13px}#story-panel p{font-size:10px;line-height:1.6}#toast{bottom:310px}.quest{width:210px}.quest-count{width:182px}.intro .story{font-size:10px}}
#interact{bottom:330px}
@media(max-width:800px){#toast{bottom:230px}#interact{bottom:275px}}
@media(max-width:600px){#hold-assist{bottom:142px;padding:12px 23px}.intro-copy h1.new-title{font-size:53px}.controls-foot{font-size:9px}.quest #assist-status{font-size:10px;margin-bottom:5px}}
.voyage-record{margin:16px 0;text-align:left;border:1px solid #47605c;border-radius:10px;padding:12px;color:#d7e8df;font-size:13px}
.voyage-record summary{cursor:pointer;color:#a3fbd0}
#voyage-journal{max-height:180px;overflow:auto;overscroll-behavior:contain}
#voyage-journal p{padding:10px 0;border-bottom:1px solid #30403d;margin:0}
#voyage-journal strong,#voyage-journal span{display:block;font-size:12px;line-height:1.7}
#voyage-journal strong{color:#b9cebf}
.pause-inner{max-height:90dvh;overflow:auto}

/* SIGNAL ZERO 6人版。小画面もタイトルをスクロールして全員選べる。 */
.portrait.gemini{background-image:url('assets/pet_gemini.webp')}
.portrait.aqua{background-image:url('assets/pet_aqua.webp')}
.portrait.yano{background-image:url('assets/pet_yano.webp')}
.intro{overflow-y:auto}
.intro-copy{position:relative;top:auto;left:auto;transform:none!important;margin:105px 0 70px 8%;width:min(390px,86vw)}
.intro-copy h1.new-title{font:600 clamp(28px,4vw,46px)/1.3 Georgia,serif;letter-spacing:.04em}
.intro-copy h1.new-title span{font:500 clamp(20px,3vw,28px)/1.5 'Yu Mincho',serif;letter-spacing:.08em}
.hero-select{display:grid;grid-template-columns:repeat(3,1fr);max-width:337px;gap:8px}
.hero-option{width:auto!important}
.hero-option .portrait{height:55px;width:51px;background-size:408px 608px}
.hero-option small{margin-top:3px}
#party-panel span{display:block;line-height:1.7}
#inventory-list{white-space:pre-line;text-align:left}
.pause-inner{max-height:88vh;overflow-y:auto}
@media(max-width:600px){.intro-copy{margin:85px 7% 60px}.brand strong{font-size:11px;max-width:185px}.intro-copy>.eyebrow{margin-bottom:10px}.subtitle{font-size:11px;margin:12px 0}.hero-select{max-width:312px}.intro .story{margin-bottom:10px}.intro-hint{margin:8px 0}#party-panel{width:142px}#party-panel strong{line-height:1.6}}
