@font-face{font-family:Noto Sans JP;src:url(/assets/v14/fonts/NotoSansJP-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/assets/v14/fonts/NotoSansJP-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Noto Serif JP;src:url(/assets/v14/fonts/NotoSerifJP-600.woff2) format("woff2");font-weight:600;font-display:swap}:root{font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:500;line-height:1.75;color:#f5e8cd;background:#171c2b;font-synthesis:none;--ink:#1d2334;--panel:#242a3bed;--cream:#f5e8cd;--gold:#e5bd71;--teal:#86d5c7;--rose:#e7a5b7;--muted:#bbc0ce;--line:#ba9e644a}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button{border:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.48}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Noto Serif JP",serif;font-weight:600}h1{font-size:32px;line-height:1.65}h2{font-size:23px}h3{font-size:18px}small{font-size:14px}img{display:block;max-width:100%;object-fit:contain}a{color:inherit;text-decoration:none}button{color:inherit}details{border-top:1px solid var(--line);padding:14px}summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:8px}summary:before{content:"＋";color:var(--gold)}details[open]>summary:before{content:"−"}ul,ol{padding-left:24px}dialog{color:var(--cream)}.starting{padding:60px}.game-shell{min-height:100vh;background:linear-gradient(#151a2580,#131827bb),url(/assets/v08/web/backgrounds/ART01.webp) center top/cover fixed}.game-shell.battle{background-image:linear-gradient(#141a2855,#11172ccc),url(/assets/v08/web/backgrounds/ART02.webp)}.game-shell.return{background-image:linear-gradient(#191b2b66,#171a2bbb),url(/assets/v08/web/backgrounds/ART03.webp)}.game-header{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#1d2334f5;border-bottom:1px solid #d6b26f70;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-brand{font-family:"Noto Serif JP",serif;font-size:19px;letter-spacing:.05em}.game-brand:first-letter{color:var(--gold)}.header-controls{display:flex;align-items:center;gap:20px}.header-controls>span{white-space:nowrap}.demo-label{font-size:14px;color:var(--muted)}.p-wallet{padding:5px 16px;border:1px solid #d6b26f90;background:#e5bd7114;color:#ffe0a5;border-radius:5px;white-space:nowrap;font-size:22px}.hearts{display:inline-flex;gap:5px;font-size:24px;color:var(--rose)}.hearts .lost{color:#a69a9c}.icon-button{background:transparent;min-height:48px;padding:8px;color:var(--cream)}.game-shell>main{max-width:1510px;margin:auto;padding:28px 24px 32px;min-height:calc(100vh - 160px)}.game-footer{display:flex;justify-content:space-between;gap:16px;padding:24px;font-size:13px;color:#d6d1c2;border-top:1px solid var(--line);background:#1a1f2b99}.primary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:13px 22px;border:1px solid #f1ce8d;border-radius:7px;background:linear-gradient(135deg,#e7c984,#c79850);color:#202436;font-weight:700;font-size:18px;box-shadow:0 3px #684d2b}.primary:hover{filter:brightness(1.08)}.secondary{min-height:48px;padding:8px 14px;border:1px solid #b6aa8859;border-radius:5px;background:#f5e8cd0c;color:var(--cream)}.secondary:hover{background:#f5e8cd18}.text-button{min-height:48px;background:transparent;color:var(--gold);padding:8px 12px}.panel{background:var(--panel);border:1px solid #c7ad7659;border-radius:12px;box-shadow:0 8px 30px #0002;overflow:hidden;min-width:0}.welcome{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;max-width:1250px;margin:16px auto 30px}.welcome-copy{padding:30px 0;position:relative;text-shadow:0 2px 8px #0009}.ornament{font-size:35px;color:var(--gold)}.welcome-copy h1{font-size:43px;margin:16px 0 20px;letter-spacing:.05em}.welcome-copy p{font-size:18px;line-height:2.1}.welcome-duet{display:flex;justify-content:center;align-items:flex-end;height:380px;gap:-20px;margin-top:15px}.welcome-duet .witch-picture{height:350px;width:38%;object-fit:contain}.welcome-duet .familiar-picture{height:320px;width:55%}.selection-panel{padding:24px}.selection-panel h2{margin-bottom:20px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;padding:12px 6px;border:1px solid #b7b9ca47;background:#e9e0cc09;border-radius:8px}.choice b{font-size:15px;line-height:1.6}.choice .witch-picture{height:170px;width:100%;margin-bottom:7px}.choice .familiar-picture{height:130px;width:100%;margin-bottom:7px}.choice-mark{position:absolute;right:8px;top:6px;color:#e9c785;font-size:20px}.selected{outline:2px solid var(--gold);outline-offset:-2px;background:#e5bd711a}.choice-description{font-size:15px;color:var(--muted);margin:12px 0 22px;min-height:26px}.selection-panel>.primary,.selection-panel>.secondary{width:100%;justify-content:center;margin-top:16px}.small-note{font-size:14px;color:var(--muted);text-align:center;margin-top:15px}.personal-rank{font-size:15px;color:#d9d1ed;text-align:center;margin-top:18px}.personal-rank .text-button{display:block;margin:auto}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:20px}.workshop-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px}.scene-kicker{font-size:14px;color:#e1c693;letter-spacing:.09em}.workshop-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(420px,1.6fr) minmax(290px,1fr);gap:18px;align-items:start}.companion-panel{padding-bottom:20px}.companion-head{display:flex;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line)}.companion-head b{color:var(--gold);font-size:23px}.companion-head span{font-size:17px}.workshop-duet{display:flex;align-items:flex-end;height:230px;padding:10px 8px}.workshop-duet .witch-picture{width:35%;height:210px}.workshop-duet .familiar-picture{width:65%;height:200px}.companion-panel>h2{text-align:center;font-size:18px}.support-description{font-size:14px;color:var(--muted);padding:10px 15px;text-align:center}.six-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 12px;gap:10px 8px}.six-stats>div{border-top:1px solid var(--line);padding-top:7px;min-width:0}.six-stats dt{color:var(--muted)}.stat-label{background:transparent;color:inherit;padding:0;min-height:38px;font-size:16px}.six-stats dd{margin:0;font-size:23px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.circuit-panel .panel-head{flex-wrap:wrap}.board-toolbar{display:flex;align-items:center;gap:2px}.board-toolbar button{font-size:15px}.board-view{width:100%;overflow:hidden}.board-scroll{width:100%;aspect-ratio:1;overflow:auto;position:relative;overscroll-behavior:contain;touch-action:pan-x pan-y}.magic-board{position:relative;width:100%;aspect-ratio:1;min-width:0;background:radial-gradient(ellipse at center,#465d7266,transparent 65%)}.circuit-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.board-ring{fill:none;stroke:#e5bd7119;stroke-width:1;stroke-dasharray:5 7}.circuit-line{stroke:#bbc0ce35;stroke-width:2}.circuit-line.connected{stroke:#a4b8b79c;stroke-width:3}.circuit-line.formed{stroke:var(--teal);filter:drop-shadow(0 0 4px #86d5c770)}.board-center{fill:#2a3549;stroke:#d4b675;stroke-width:1.5}.board-emblem{font-family:serif;font-size:37px;fill:var(--gold)}.node{position:absolute;transform:translate(-50%,-50%);width:43px;height:43px;display:flex;align-items:center;justify-content:center;border:1px solid #b6b5ac70;background:#e9dfca;color:#38445b;z-index:2;padding:2px;box-shadow:0 2px 6px #0003}.node.equipment{width:54px;height:54px;border-radius:11px;border:2px solid #d6b26f}.node.catalyst{border-radius:50%;background:#e8ddc5}.node>img:not(.slot-icon){width:100%;height:100%;object-fit:contain}.node .slot-icon{position:absolute;bottom:-11px;left:-8px;width:21px;height:21px;background:#28354b;border-radius:5px;padding:2px}.node.candidate{border:1px dashed #a9b2c7;background:#2a3549;color:#c7cfde;font-size:27px}.node.pending{background:#d3b071;border:3px solid #fff0ab}.pending-label{position:absolute;bottom:-15px;background:#fff0ab;color:#293142;padding:0 5px;font-size:11px;border-radius:3px}.node.resonant{box-shadow:0 0 0 2px #86d5c785,0 0 14px #86d5c733}.node.placeable{cursor:copy;outline:1px dashed #b9b4a1;outline-offset:2px}.node.selected{outline-color:var(--gold)}.node.firing{filter:drop-shadow(0 0 8px #f9e7a5);outline:3px solid #fff0af;z-index:4}.circuit-line.firing{stroke:#fff3b7;stroke-width:5;filter:drop-shadow(0 0 5px #fff0af)}.node-timer{position:absolute;bottom:0;left:0;height:4px;background:#a48247;transform-origin:left;width:100%;border-radius:5px}.board-view.zoomed .magic-board{width:850px;max-width:none}.board-view.zoomed .board-scroll{height:600px;aspect-ratio:auto}.board-view.zoomed .node{width:48px;height:48px}.board-view.zoomed .node.equipment{width:62px;height:62px}.pattern-progress{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 8px;border-top:1px solid var(--line);min-height:60px;flex-wrap:wrap}.pattern{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #bbc0ce60;border-radius:50%;color:#bbc0ce60}.pattern.lit{border-color:var(--teal);color:var(--teal);box-shadow:0 0 9px #86d5c755;animation:pattern-breathe 2.6s ease-in-out infinite}.pattern-progress>span:last-child{font-size:14px;color:var(--muted)}.selection-strip{display:flex;align-items:center;gap:10px;min-height:83px;padding:13px 16px;background:#f5e8cd0a;border-top:1px solid var(--line)}.selection-strip>img{width:44px;height:44px}.selection-strip>span{flex:1}.selection-strip small{display:block;font-size:14px;color:var(--muted)}.selection-strip b{font-size:16px}.placement-list>div{display:flex;flex-wrap:wrap;gap:8px}.expansion-prompt{padding:15px 17px;background:#e5bd7114;border-bottom:1px solid var(--line)}.expansion-prompt>b{color:#ffe0a5;display:block}.expansion-prompt>span{font-size:14px;color:var(--muted)}.expansion-prompt>div{display:flex;gap:8px;margin-top:9px}.expansion-prompt .primary{font-size:16px;min-height:48px;padding:8px 12px}.shop-panel .panel-head>div>p{color:var(--gold);margin-top:2px}.shop-panel .panel-head b{font-size:24px}.shop-six{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.shop-card{position:relative;background:#f5e8cd0b;border:1px solid #bbad8a33;border-radius:8px;overflow:hidden;min-width:0;padding:10px}.shop-card>img{height:94px;width:100%;margin:2px 0 10px;filter:drop-shadow(0 2px 2px #0002)}.shop-card h3{font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.5;min-height:48px;margin-bottom:6px}.shop-card small{display:block;font-size:13px;color:var(--muted)}.buy-button{display:block;width:100%;min-height:48px;background:#dfbf7a;color:#262d40;border:1px solid #f2d599;border-radius:5px;font-size:17px;font-weight:700;margin-top:7px}.shop-card.sold{background:repeating-linear-gradient(135deg,#e9e0ce09,#e9e0ce09 8px,#171d2d40 8px 16px)}.shop-card.sold>img{opacity:.35}.item-info{min-height:38px;background:transparent;padding:3px 0;color:#dbc99d;font-size:14px;text-decoration:underline}.toolbox{grid-column:1/3}.toolbox-items{display:flex;flex-wrap:wrap;gap:9px;padding:14px;max-height:280px;overflow:auto}.owned-item{display:flex;align-items:center;gap:9px;text-align:left;min-height:68px;max-width:100%;padding:8px;border:1px solid #d2bf9652;border-radius:6px;background:#ffffff05}.owned-item img{width:44px;height:44px}.owned-item span{font-size:15px;max-width:210px}.owned-item small{display:block;font-size:12px;color:var(--muted)}.owned-actions{display:flex;gap:12px;padding:0 14px 14px}.departure{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:20px;padding:16px;border:1px solid #d1b77666;background:#1d2334eb;border-radius:8px}.departure>span{font-size:15px;color:var(--muted)}.departure .primary{min-width:260px}.game-dialog{max-width:min(900px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:0;border:1px solid #d4b675;border-radius:12px;background:#242a3b;box-shadow:0 15px 90px #0009;min-width:min(420px,calc(100vw - 24px))}.game-dialog::backdrop{background:#121725b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:23px}.dialog-body{padding:20px 22px}.dialog-body p+p{margin-top:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:0 22px 22px}.detail-item{width:180px;height:180px;margin:auto auto 20px}.setting-row{display:flex;gap:14px;align-items:center;justify-content:space-between;min-height:64px}.setting-row input[type=range]{width:60%;accent-color:var(--gold);min-height:48px}.setting-row input[type=checkbox]{width:25px;height:25px;accent-color:var(--teal)}.sound-choices{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.research-entry+.research-entry{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.research-board .magic-board{min-width:480px}.research-board .board-scroll{max-height:500px;overflow:auto}.enemy-inspect .magic-board{width:650px}.enemy-inspect .board-scroll{width:100%;max-height:650px;overflow:auto}.readonly .node{cursor:default}.readonly .node:hover{transform:translate(-50%,-50%)}.battle-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}.battle-controls{display:flex;gap:8px;flex-wrap:wrap}.duel{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative;max-width:1250px;margin:auto}.fighter{position:relative;padding:20px 22px 16px;background:#20293ce0;overflow:hidden}.fighter-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.fighter-heading h2{font-size:22px}.fighter-heading>span{font-size:14px;color:var(--muted)}.hp-label{display:flex;align-items:baseline;gap:8px;margin-top:12px;white-space:nowrap}.hp-label strong{font-size:29px;color:#f5e8cd}.hp-label small{color:#c6c9cf;font-size:16px}.hp-track{height:13px;border:1px solid #a9babc55;background:#101725;border-radius:8px;overflow:hidden;margin-top:7px}.hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#4d9c8e,#a0ddbd);transition:width .12s linear}.enemy .hp-fill{background:linear-gradient(90deg,#956b99,#d6acc9)}.barrier-label{color:#bce3ed;font-size:16px;padding-top:6px;min-height:34px}.battle-characters{display:flex;justify-content:center;align-items:flex-end;height:250px;gap:8px;padding-top:10px}.battle-witch{width:29%;height:215px;border-radius:45%;transition:filter .12s}.battle-witch img{height:100%;width:100%}.battle-witch.support-active{filter:drop-shadow(0 0 14px #c1e9dd)}.battle-familiar{width:55%;height:240px;animation:familiar-breathe 4s ease-in-out infinite}.battle-familiar img{width:100%;height:100%;filter:drop-shadow(0 4px 8px #0b122d80)}.player .battle-familiar img{transform:scaleX(-1)}.battle-familiar.attacking{animation:familiar-step .25s ease-out}.battle-mini-board{max-width:380px;margin:-8px auto 0}.battle-mini-board .board-scroll{overflow:visible;pointer-events:none}.battle-mini-board .node{width:32px;height:32px}.battle-mini-board .node.equipment{width:40px;height:40px}.battle-mini-board .node .slot-icon{width:17px;height:17px;bottom:-7px}.fighter-effect{min-height:34px;text-align:center;color:#e9d49f;font-size:18px;margin-top:8px}.battle-time{position:absolute;z-index:2;left:50%;top:80px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;width:72px;padding:12px 0;border:1px solid var(--line);border-radius:40px;background:#20293c}.battle-time b{font-size:25px}.battle-time small{font-size:14px}.battle-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:8;overflow:visible}.light-orb{filter:drop-shadow(0 0 5px #f4f6cf)}.floating-number{font-family:Noto Sans JP,sans-serif;font-size:24px;font-weight:700;paint-order:stroke;stroke:#20243b;stroke-width:4px;filter:drop-shadow(0 2px 3px #0008)}.special-number{font-size:36px;stroke-width:5px}.battle-log,.battle-detail{max-width:1250px;margin:22px auto;background:var(--panel);border:1px solid var(--line);border-radius:7px}.battle-log ol,.battle-detail ol{max-height:450px;overflow:auto;font-size:14px}.return-heading{text-align:center;margin:10px 0 27px}.return-heading h1{font-size:37px;margin:8px 0}.return-heading>p:last-child{color:#e0dccb}.return-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;max-width:1150px;margin:auto}.return-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;background:#252a38b8}.return-duet{display:flex;align-items:flex-end;justify-content:center;width:100%;height:400px}.return-duet .witch-picture{height:360px;width:32%}.return-duet .familiar-picture{height:350px;width:60%}.return-portrait>p{font-size:16px;text-align:center;margin-top:16px}.growth-panel{padding:25px}.level-up{font-size:30px;color:#f1ce8a}.level-up span{color:#c3b7a2;padding:0 15px}.growth-intro{color:var(--muted);font-size:15px;margin:12px 0 20px}.growth-table{width:100%;border-collapse:collapse}.growth-table th,.growth-table td{text-align:right;padding:10px 5px;border-bottom:1px solid var(--line);font-size:18px;font-weight:500;white-space:nowrap}.growth-table th:first-child{text-align:left}.growth-table thead th{font-size:13px;color:var(--muted)}.growth-table tbody th{font-weight:700}.growth-table td:last-child{color:var(--teal);font-size:16px}.growth-table td:nth-child(3){font-weight:700;color:#ffe3a9}.grant-note{padding:14px 0;color:var(--gold)}.growth-panel>.primary{width:100%;margin-top:20px}.magic-result{border-top:1px solid var(--line);padding-top:16px;color:#dfd1ed;font-size:20px}.magic-result small{display:block;color:var(--muted);font-size:14px}.discovery-callout{margin-top:18px;padding:17px;background:#86d5c70b;border:1px solid #86d5c74a;border-radius:7px}.discovery-callout small{color:var(--teal)}.discovery-callout .secondary{margin-top:13px}.challenge-score{font-size:38px;font-weight:700;margin:20px 0}.challenge-score small{font-size:18px;color:var(--muted);padding-right:12px}.comparison-table{overflow:auto}.comparison-table table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:10px;border-bottom:1px solid var(--line);text-align:right}.comparison-table th:first-child{text-align:left}.status-area{position:fixed;bottom:12px;left:50%;transform:translate(-50%);width:min(700px,calc(100% - 24px));z-index:30;pointer-events:none}.status-area p:not(:empty),#resource-warning:not(:empty){padding:12px 16px;background:#293c3aed;border:1px solid #86d5c78c;border-radius:6px;font-size:15px;pointer-events:auto}.status-area #save-warning:not(:empty){background:#503d2bf5;border-color:#e5bd71}.status-area p+p:not(:empty){margin-top:8px}.status-area button{margin-left:8px}.status-area:has(p:not(:empty)){transition:opacity .2s}.game-shell .stat-label:hover{color:var(--gold)}@keyframes familiar-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes familiar-step{0%,to{transform:translate(0)}45%{transform:translate(6px)}}@keyframes pattern-breathe{0%,to{box-shadow:0 0 6px #86d5c722}50%{box-shadow:0 0 16px #86d5c760}}.reduced *{animation:none!important;transition:none!important}@media(max-width:1200px){.workshop-layout{grid-template-columns:minmax(190px,.65fr) minmax(400px,1.5fr)}.shop-panel{grid-column:1/-1}.shop-six{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-card h3{font-size:16px}.toolbox{grid-column:1/-1}.shop-card>img{height:85px}}@media(max-width:850px){.game-header{padding:10px 14px;flex-wrap:wrap;gap:5px}.game-brand{font-size:17px}.header-controls{gap:12px;flex:1;justify-content:flex-end}.header-controls>span{font-size:15px}.p-wallet{font-size:20px;padding:3px 10px}.welcome{grid-template-columns:1fr;gap:8px;max-width:650px}.welcome-copy{padding:10px 0 0;text-align:center}.welcome-copy h1{font-size:33px}.welcome-duet{height:260px;max-width:380px;margin:8px auto 15px}.welcome-duet .witch-picture{height:250px}.welcome-duet .familiar-picture{height:230px}.welcome-copy>p:last-of-type{display:none}.workshop-layout{grid-template-columns:1fr}.companion-panel{display:grid;grid-template-columns:180px 1fr;grid-template-rows:auto auto auto;padding:10px}.companion-head{grid-column:1/-1}.workshop-duet{grid-row:2/5;height:170px;padding:0}.workshop-duet .witch-picture{height:160px}.workshop-duet .familiar-picture{height:150px}.companion-panel>h2{font-size:18px;padding-top:12px}.companion-panel .support-description{font-size:14px;padding:4px}.companion-panel .six-stats{grid-template-columns:repeat(3,1fr);grid-column:2;gap:6px;margin:5px}.companion-panel .six-stats dd{font-size:22px}.companion-panel .stat-label{min-height:30px;font-size:14px}.companion-panel .personal-rank{grid-column:1/-1;font-size:14px;margin:8px}.circuit-panel,.shop-panel{grid-column:1}.shop-six{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbox{grid-column:1}.duel{gap:30px}.fighter{padding:15px}.fighter-heading{flex-direction:column;align-items:flex-start}.battle-characters{height:220px}.battle-familiar{height:210px}.battle-witch{height:185px}.return-layout{gap:16px}.return-duet{height:310px}.return-duet .witch-picture{height:290px}.return-duet .familiar-picture{height:280px}.growth-panel{padding:18px}.growth-table th,.growth-table td{font-size:16px;padding:9px 3px}.growth-table td:last-child{font-size:14px}.return-heading h1{font-size:31px}}@media(max-width:600px){:root{font-size:16px}.game-shell>main{padding:18px 12px 28px}.game-header{padding:7px 12px}.game-brand{font-size:16px}.game-brand span{letter-spacing:0}.header-controls{justify-content:space-between;width:100%;flex-basis:100%;gap:8px}.header-controls>.demo-label{font-size:13px}.header-controls .hearts{font-size:21px}.header-controls .icon-button{font-size:15px;min-height:48px;padding:4px}.header-controls>span{font-size:15px}.p-wallet{font-size:22px}.game-footer{flex-direction:column;align-items:center;text-align:center;padding:18px 12px;font-size:12px;gap:6px}.welcome-copy h1{font-size:30px}.welcome-copy>p{font-size:16px}.selection-panel{padding:16px 12px}.selection-panel>h2{font-size:22px}.choice-grid{gap:6px}.choice{padding:10px 3px}.choice .witch-picture{height:144px}.choice .familiar-picture{height:112px}.choice b{font-size:14px}.choice-description{font-size:16px;line-height:1.7;min-height:54px;margin:12px 0 18px}.small-note{font-size:15px}.welcome-duet{height:220px}.welcome-duet .witch-picture{height:212px}.welcome-duet .familiar-picture{height:200px}.ornament{display:none}.welcome-copy{padding:0}.welcome-copy h1{margin-top:8px}.workshop-heading{align-items:center;margin-bottom:16px;gap:10px}.workshop-heading h1{font-size:25px}.scene-kicker{font-size:13px}.notebook-button{font-size:14px;padding:8px}.companion-panel{grid-template-columns:125px 1fr;padding:0 8px 8px}.companion-head{padding:9px 4px}.workshop-duet{height:150px}.workshop-duet .witch-picture{height:145px;width:38%}.workshop-duet .familiar-picture{height:140px;width:62%}.companion-panel>h2{font-size:16px}.companion-panel .support-description{font-size:14px;line-height:1.6}.companion-panel .six-stats{gap:6px}.companion-panel .six-stats dd{font-size:22px}.companion-panel .stat-label{font-size:14px}.board-view .node{width:28px;height:28px;padding:1px}.board-view .node.equipment{width:35px;height:35px;border-radius:7px}.board-view .node .slot-icon{width:16px;height:16px;left:-6px;bottom:-9px}.board-view .node.candidate{font-size:21px}.board-view.zoomed .board-scroll{height:440px}.board-view.zoomed .magic-board{width:720px}.board-view.zoomed .node{width:48px;height:48px}.board-view.zoomed .node.equipment{width:58px;height:58px}.board-view.zoomed .node .slot-icon{width:20px;height:20px}.pattern-progress{gap:7px}.pattern-progress>span:last-child{display:block;flex-basis:100%;text-align:center;font-size:16px}.pattern{width:31px;height:31px}.board-toolbar .secondary,.board-toolbar .text-button{font-size:15px;min-height:48px}.circuit-panel .panel-head{padding:12px}.selection-strip{padding:12px;align-items:flex-start}.selection-strip b,.selection-strip small{font-size:16px}.selection-strip>img{flex:none}.selection-strip .text-button{padding:4px;min-width:48px}.selection-strip{flex-wrap:wrap}.selection-strip .text-button{margin-left:auto}.shop-six{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.shop-card{padding:12px 10px}.shop-card>img{height:108px}.shop-card h3{font-size:17px;line-height:1.6;min-height:54px}.shop-card small{font-size:16px}.buy-button{font-size:18px}.item-info{font-size:16px;min-height:48px}.shop-panel .panel-head h2{font-size:22px}.shop-panel .panel-head .secondary{font-size:17px}.toolbox .panel-head{padding:12px;flex-wrap:wrap}.toolbox .panel-head>span{font-size:16px}.toolbox-items{padding:10px;gap:8px;max-height:340px}.owned-item{width:100%;min-height:74px;padding:9px}.owned-item span{font-size:16px;max-width:none}.owned-item small{font-size:15px}.owned-item img{width:50px;height:50px}.departure{flex-direction:column;padding:14px;margin-top:16px;gap:10px}.departure>span{font-size:16px}.departure .primary{width:100%;min-width:0}.panel-head h2{font-size:21px}.game-dialog{max-width:calc(100vw - 16px);min-width:calc(100vw - 16px);max-height:92dvh}.dialog-head,.dialog-body{padding:15px}.dialog-head h2{font-size:21px}.dialog-head .secondary{padding:7px 9px;min-width:60px}.dialog-actions{padding:0 15px 18px;gap:10px}.dialog-actions .primary{font-size:17px;padding:9px 12px}.sound-choices{flex-direction:column}.sound-choices button{width:100%;justify-content:center}.setting-row{font-size:18px}.battle-heading{display:block}.battle-heading h1{font-size:24px}.battle-controls{margin-top:14px;justify-content:space-between;gap:6px}.battle-controls .secondary{font-size:16px;padding:8px 9px}.duel{display:flex;flex-direction:column;gap:40px}.fighter.enemy{order:0}.fighter.player{order:1}.fighter{padding:14px;display:grid;grid-template-columns:1fr 1fr;column-gap:10px;min-height:390px}.fighter-heading{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:6px}.fighter-heading h2{font-size:21px}.fighter-heading>span{font-size:15px}.hp-label{grid-column:1/-1;margin-top:7px}.hp-label strong{font-size:29px}.hp-label small{font-size:17px}.hp-track,.barrier-label{grid-column:1/-1}.barrier-label{font-size:17px}.battle-characters{height:210px;gap:0;align-items:flex-end;padding-top:0}.battle-familiar{height:190px;width:65%}.battle-witch{height:180px;width:35%}.battle-mini-board{margin:auto -5px auto -8px;min-width:0;width:calc(100% + 13px)}.battle-mini-board .node{width:21px;height:21px;padding:1px}.battle-mini-board .node.equipment{width:26px;height:26px;border-radius:5px;border-width:1px}.battle-mini-board .node .slot-icon{width:13px;height:13px;left:-4px;bottom:-6px}.fighter-effect{grid-column:1/-1;font-size:19px;margin:4px 0}.battle-time{top:50%;left:50%;width:100px;border-radius:25px;padding:4px 10px;flex-direction:row;gap:8px;justify-content:center;transform:translate(-50%,-50%)}.battle-time b{font-size:23px}.battle-fx .special-number{font-size:29px}.floating-number{font-size:23px}.return-heading h1{font-size:28px}.return-heading>p:last-child{font-size:16px}.return-layout{grid-template-columns:1fr}.return-portrait{padding:16px}.return-duet{height:250px;max-width:390px}.return-duet .witch-picture{height:240px}.return-duet .familiar-picture{height:230px}.return-portrait>p{font-size:16px;margin-top:9px}.growth-panel{padding:18px 12px}.level-up{font-size:29px}.growth-intro{font-size:16px}.growth-table th,.growth-table td{font-size:17px;padding:12px 3px}.growth-table thead th{font-size:13px}.growth-table td:last-child{font-size:14px}.magic-result{font-size:22px}.magic-result small{font-size:16px}.grant-note{font-size:17px}.status-area p:not(:empty){font-size:16px;padding:10px 12px}.battle-log ol,.battle-detail ol{font-size:16px}.research-board .magic-board{width:600px}.comparison-table table{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1201px){.workshop-layout{grid-template-areas:"companion circuit shop" "companion tools shop";grid-template-rows:min-content min-content}.companion-panel{grid-area:companion}.circuit-panel{grid-area:circuit}.shop-panel{grid-area:shop}.toolbox{grid-area:tools}}@media(max-width:850px){.workshop-layout{display:flex;flex-direction:column}.workshop-layout>section,.workshop-layout>aside{width:100%}.companion-panel{order:0}.circuit-panel{order:1}.toolbox{order:2}.shop-panel{order:3}}.growth-scroll{max-width:100%;overflow:auto}.growth-table td{font-size:22px}.growth-table td:last-child{font-size:20px}@media(max-width:600px){.small-note,.companion-panel .support-description,.companion-panel .personal-rank,.owned-item small{font-size:16px}.growth-table{min-width:420px}.growth-table td{font-size:22px}.growth-table td:last-child{font-size:20px}.growth-table tbody th{font-size:16px}.status-area{bottom:8px}}.circuit-line.assistance{stroke:#e5bd71;stroke-width:4;stroke-dasharray:5 4}.known-patterns p{font-size:16px;margin:10px 0}.known-patterns small{display:block;color:var(--muted)}.pattern.seeded{color:#d9c798;border-color:#d9c79899;background:conic-gradient(#d9c79844 0 35%,transparent 35% 100%)}#notice{pointer-events:none!important}.node .slot-label{position:absolute;left:50%;bottom:-16px;transform:translate(-50%);display:block;min-width:32px;padding:2px 5px;border:1px solid #c6bd9c;border-radius:4px;background:#202b3d;color:#fff4da;font-size:12px;line-height:1.3;white-space:nowrap;z-index:4;pointer-events:none}.node .node-timer{pointer-events:none}.circuit-line.formed{stroke:#c6f4ff;stroke-width:3;filter:drop-shadow(0 0 3px #82d9ff)}.circuit-line.new-resonance{animation:resonance-arrival 1.8s ease-out}@keyframes resonance-arrival{0%,35%{stroke:#fff;stroke-width:7;filter:drop-shadow(0 0 9px #8be4ff)}to{stroke:#c6f4ff;stroke-width:3;filter:drop-shadow(0 0 3px #82d9ff)}}.rank-badge{display:inline-flex;align-items:center;gap:10px;color:var(--rank-color);padding:9px 12px;border:1px solid var(--rank-color);border-radius:9px;background:#182335}.rank-badge img{width:30px;height:30px}.rank-badge small{display:block;color:#e5e8f0;font-size:13px}.rank-badge small:last-child{color:#b8c2d3;font-size:11px}.rank-badge b{font-size:16px}.choice-description p+p{margin-top:10px}.choice-description{min-height:100px}.heart-selection{padding:18px;border-block:1px solid #798aa6}.heart-selection>p{margin:8px 0 14px;color:#c3ccdc;font-size:14px}.heart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.heart-choice{display:flex;align-items:center;flex-direction:column;gap:8px;padding:12px 8px;background:#202b3d;border:1px solid #617087;border-radius:10px;text-align:left}.heart-choice.selected{border-color:#b7f3ff;box-shadow:0 0 12px #91deff55}.heart-choice img{width:90px;height:90px}.heart-choice b{font-size:15px}.heart-choice span,.heart-choice small{font-size:12px;line-height:1.6}.heart-choice small{color:#c2cee0}.battle-mini-board .slot-label{font-size:9px;bottom:-12px;min-width:20px;padding:1px 2px}.departure>span:empty{display:none}.reduced .new-resonance{animation:none;stroke:#fff;stroke-width:5}@media(prefers-reduced-motion:reduce){.circuit-line.new-resonance{animation:none;stroke:#fff;stroke-width:5}}@media(max-width:700px){.heart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heart-choice{min-height:240px}.heart-choice span,.heart-choice small{font-size:14px}.node .slot-label{font-size:11px}.battle-mini-board .slot-label{font-size:8px}.choice-description{min-height:0}.rank-badge{max-width:100%}}.circuit-panel .node-timer{display:none}.node .slot-label{bottom:1px;min-width:0;max-width:100%;padding:1px 4px;font-size:10px}.node.equipment>img{height:calc(100% - 13px);align-self:flex-start;width:100%}.battle-mini-board .node .slot-label{bottom:1px;font-size:8px;padding:0 2px}.battle-mini-board .node-timer{height:2px;bottom:-3px;background:#9fdfed}.owned-item.equipped{border:2px solid #79cbbb;background:#183d44}.owned-item.equipped small{color:#a2f2dc;font-weight:800}.owned-item.stored{border:1px dashed #8393ac;background:#202635}.owned-item.stored small{color:#c8d1df}.owned-item.selected{outline:3px solid #f5da94;outline-offset:2px}.item-tooltip{position:fixed;z-index:1000;width:min(300px,calc(100vw - 16px));padding:16px;border:1px solid #a8dbec;border-radius:16px;background:#15243af5;box-shadow:0 12px 36px #0009;color:#f4f0df;pointer-events:none;font-size:14px}.item-tooltip img{width:60px;height:60px;object-fit:contain;float:left;margin-right:12px}.item-tooltip h3{margin:0 0 8px}.item-tooltip p{margin:8px 0;line-height:1.5}.slot-current{border-bottom:1px solid #667b91;padding-bottom:16px;margin-bottom:16px}.slot-options{display:grid;gap:10px}.slot-option{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border:1px solid #62758f;border-radius:12px;background:#202c40;color:#eee}.slot-option img{width:62px;height:62px;object-fit:contain}.slot-option span{display:grid;gap:5px}.slot-option.will-resonate{border-color:#9cecff;box-shadow:inset 0 0 18px #5ad6ff25}.slot-option strong{color:#a4edff}.decision-banner{display:inline-block;background:#193b48;border:1px solid #81c5d5;padding:10px 16px;border-radius:12px;color:#ddfbff}.heart-choice img{filter:drop-shadow(0 0 9px #ffe9a855)}.heart-choice strong{color:#f9dba2}.heart-choice.selected{box-shadow:inset 0 0 30px #d8c16b22,0 0 12px #cdd9ff33}.resonance-target{outline:3px solid #c3f5ff!important;box-shadow:0 0 20px #72dfffbb!important}.resonance-star{position:absolute;right:-7px;top:-9px;background:#d9fbff;color:#174c66;border-radius:50%;width:24px;height:24px;font-size:22px;line-height:24px}.circuit-line.preview-edge{stroke:#e6fcff!important;stroke-width:5!important;opacity:1!important;filter:drop-shadow(0 0 5px #62d7ff);animation:preview-pulse 1.25s ease-in-out infinite}.circuit-line.preview-connection{stroke:#86c8df!important;stroke-width:3!important;stroke-dasharray:5 5;opacity:.9}.node.preview-slot{outline:4px solid white!important;transform:translate(-50%,-50%) scale(1.12)}.placement-preview{min-height:54px;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid #5f8aa2;border-radius:12px;background:#112c40;color:#cef5ff;margin:10px 0;font-size:14px}.placement-preview small{display:block;margin-top:5px}.placement-preview button{flex-shrink:0;padding:9px 12px}.preview-loss{color:#ffc19e}.resonance-hint{display:block;color:#b7f1ff;font-size:12px;margin-top:6px}.owned-item[data-owned]{cursor:grab}.owned-item[data-owned]:active{cursor:grabbing}@keyframes preview-pulse{50%{stroke-opacity:.65;filter:drop-shadow(0 0 9px #96eeff)}}.reduced .preview-edge{animation:none}@media(prefers-reduced-motion:reduce){.circuit-line.preview-edge{animation:none}}.rank-badge img{width:64px;height:64px;object-fit:contain}.rank-next{display:block;font-size:12px;color:#f3e6c3;margin-top:5px}.rank-progress{display:block;height:5px;background:#ffffff20;border-radius:10px;margin:8px 0;overflow:hidden}.rank-progress i{display:block;height:100%;background:var(--rank-color)}.crown-gold img{filter:drop-shadow(0 0 5px #ffd76c55)}.crown-platinum img{filter:drop-shadow(0 0 7px #a7fff785)}.crown-diamond img{animation:crown-glow 2.8s ease-in-out infinite}@keyframes crown-glow{50%{filter:drop-shadow(0 0 10px #e2c8ff);opacity:.85}}.reduced .crown-diamond img{animation:none}@media(prefers-reduced-motion:reduce){.crown-diamond img{animation:none}}.finale-status{color:#d1edff;text-align:center}.finale-status:empty{display:none}.magic-board:has(.placeable) .node.resonant:not(.resonance-target){box-shadow:0 2px 6px #0003}.drag-ghost{position:fixed;z-index:2000;width:64px;height:64px;transform:translate(-50%,-50%);pointer-events:none;padding:5px;border:2px solid #c2b899;border-radius:12px;background:#192739dd;box-shadow:0 5px 18px #0009}.drag-ghost img{width:100%;height:100%}.drag-ghost.valid-drop{border-color:#fff0b8}.item-dragging,.item-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.owned-item,.node{user-select:none;-webkit-user-select:none}.owned-item img,.node img{-webkit-user-drag:none}.item-dragging .circuit-line.formed:not(.preview-edge){stroke:#a4b8b79c;filter:none}.item-dragging .preview-connection{filter:none}.node.occupied{cursor:grab}.workshop-layout{display:grid;grid-template-columns:190px minmax(0,1fr) 270px;grid-template-areas:"companion assembly shop";gap:14px;align-items:start}.assembly-workspace{grid-area:assembly;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:10px;align-items:start}.assembly-workspace>.circuit-panel{grid-area:auto;grid-column:1;grid-row:1;min-width:0}.assembly-workspace>.toolbox{grid-area:auto;grid-column:2;grid-row:1;min-width:0;position:sticky;top:88px}.assembly-reference{grid-column:1/-1;padding:0}.assembly-reference>summary{padding:5px 14px;font-size:15px}.assembly-reference .pattern-progress{padding:10px}.assembly-reference .known-patterns{border:0}.workshop-heading{margin-bottom:12px}.workshop-heading h1{font-size:28px}.assembly-workspace .panel-head{padding:10px;gap:6px}.assembly-workspace .panel-head h2{font-size:19px}.assembly-workspace .board-scroll{width:min(100%,max(320px,min(480px,calc(100dvh - 420px))));margin:auto;aspect-ratio:1;container-type:inline-size}.assembly-workspace .board-view{container-type:inline-size}.assembly-workspace .board-view:not(.zoomed) .node{width:7.17cqw;height:7.17cqw;max-width:43px;max-height:43px}.assembly-workspace .board-view:not(.zoomed) .node.equipment{width:9cqw;height:9cqw;max-width:54px;max-height:54px}.assembly-workspace .board-view.zoomed .board-scroll{width:100%;height:min(440px,calc(100dvh - 300px));aspect-ratio:auto}.assembly-workspace .board-view.zoomed .magic-board{width:780px;max-width:none}.assembly-workspace .selection-strip{padding:5px 10px;min-height:54px;gap:6px;flex-wrap:nowrap;font-size:14px}.assembly-workspace .selection-strip>img{width:30px;height:30px;flex:none}.assembly-workspace .selection-strip>span{min-width:0}.assembly-workspace .selection-strip b{font-size:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assembly-workspace .selection-strip small{font-size:12px}.assembly-workspace .selection-strip .text-button{padding:4px;min-width:40px;min-height:44px;font-size:14px}.assembly-workspace .placement-preview{min-height:70px;margin:0;border-radius:0;border-width:1px 0 0;padding:8px 10px;font-size:14px;gap:8px}.assembly-workspace .placement-preview>span{min-width:0;max-height:86px;overflow:auto;flex:1}.assembly-workspace .placement-preview small{margin:0;font-size:13px}.assembly-workspace .placement-preview .primary{font-size:15px;min-height:48px;padding:8px 10px}.assembly-workspace .toolbox .panel-head{display:flex;flex-wrap:wrap}.assembly-workspace .toolbox .panel-head>span{font-size:13px}.assembly-workspace .toolbox-items{display:grid;grid-template-columns:1fr;padding:8px;gap:7px;max-height:min(490px,calc(100dvh - 255px));overscroll-behavior:contain;overflow:auto;align-content:start}.owned-cell{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:2px;align-items:center}.assembly-workspace .owned-item{width:100%;max-width:none;min-height:72px;padding:6px;gap:6px;touch-action:pan-y}.assembly-workspace .owned-item img{width:32px;height:38px;flex:none}.assembly-workspace .owned-item span{min-width:0;font-size:14px;overflow-wrap:anywhere}.assembly-workspace .owned-item small{font-size:11px}.assembly-workspace .resonance-hint{font-size:11px;margin-top:2px}.owned-info{background:transparent;color:var(--gold);font-size:12px;min-height:48px;padding:0;min-width:0}.assembly-workspace .owned-actions{padding:6px;display:flex;flex-wrap:wrap;gap:6px}.assembly-workspace .owned-actions button{font-size:14px;flex:1;padding:7px;white-space:nowrap}.item-tooltip .detail-resonances{font-size:13px;max-height:200px;overflow:hidden}.detail-resonances h4{color:var(--teal)}@media(min-width:1700px){.workshop-layout{grid-template-columns:210px minmax(0,1fr) 290px}.assembly-workspace{grid-template-columns:minmax(0,1fr) 230px}}@media(max-width:1200px)and (min-width:851px){.workshop-layout{grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"assembly shop" "companion companion"}.companion-panel{max-width:none}.assembly-workspace{grid-template-columns:minmax(0,1fr) 180px}}@media(max-width:850px){.workshop-layout{display:flex;flex-direction:column;gap:12px}.assembly-workspace{order:0;width:100%;display:flex;flex-direction:column;gap:6px}.assembly-workspace>.circuit-panel,.assembly-workspace>.toolbox,.assembly-reference{width:100%}.assembly-workspace>.toolbox{position:static}.shop-panel{order:1}.companion-panel{order:2}.assembly-reference{order:3}.assembly-workspace .board-scroll{width:100%;height:auto;aspect-ratio:1;max-width:500px}.assembly-workspace .board-view.zoomed .magic-board{width:720px}.assembly-workspace .toolbox-items{grid-template-columns:none;grid-auto-flow:column;grid-template-rows:88px;grid-auto-columns:172px;max-height:106px;overflow-x:auto;overflow-y:hidden;gap:8px;padding:6px}.assembly-workspace .owned-cell{grid-template-columns:minmax(0,1fr) 48px}.assembly-workspace .owned-item{height:88px;min-height:88px;touch-action:pan-x}.assembly-workspace .owned-item span{font-size:14px}.assembly-workspace .owned-item small{font-size:12px}.assembly-workspace .owned-item img{width:30px;height:34px}.assembly-workspace .resonance-hint{font-size:11px}.assembly-workspace .toolbox .panel-head{padding:5px 10px;min-height:40px;flex-wrap:nowrap}.assembly-workspace .toolbox .panel-head h2{font-size:18px}.assembly-workspace .toolbox .panel-head>span{font-size:12px}.owned-info{font-size:14px}.assembly-workspace .owned-actions{padding:4px 8px}.assembly-workspace .owned-actions button{min-height:48px}.assembly-workspace .selection-strip small{font-size:12px}.assembly-workspace .selection-strip .text-button{min-width:44px;min-height:48px}.assembly-workspace .placement-preview{font-size:15px;min-height:68px}.assembly-workspace .placement-preview .primary{font-size:16px}.assembly-workspace .placement-preview small{font-size:13px}.workshop-heading{margin-bottom:8px}.workshop-heading h1{font-size:24px}.game-shell>main{padding-top:12px}}.workshop-layout>.companion-panel{grid-area:companion}.workshop-layout>.shop-panel{grid-area:shop}.assembly-workspace>.placement-list{grid-column:1/-1;width:100%;margin:0;background:var(--panel)}@media(min-width:851px){.workshop-layout>.companion-panel{max-height:calc(100dvh - 230px);overflow:auto}.workshop-layout>.shop-panel .shop-six{max-height:calc(100dvh - 320px);overflow:auto;overscroll-behavior:contain}.companion-head{display:block}.companion-head b{display:inline-block;white-space:nowrap;margin-right:8px}.companion-head span{font-size:15px}}@media(max-width:850px){.workshop-heading .scene-kicker{display:none}.workshop-heading{margin-bottom:4px}.assembly-workspace .circuit-panel>.panel-head{padding:6px 10px}.assembly-workspace>.placement-list{order:2}.assembly-reference{order:3}.assembly-workspace .placement-preview{height:70px;min-height:70px}.assembly-workspace .placement-preview>span{max-height:54px}}.assembly-workspace>.final-contract{grid-column:1/-1;width:100%;order:4}.final-contract .heart-selection{border:0}.assembly-workspace .owned-item span{line-height:1.35}.owned-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-weight:500;line-height:1.35}.assembly-workspace .owned-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.assembly-workspace .resonance-hint{white-space:nowrap;line-height:1.3}.assembly-workspace .selection-strip{height:58px;min-height:58px}.assembly-workspace .owned-item{min-height:84px}@media(max-width:850px){.assembly-workspace .owned-item{height:88px;min-height:88px}.assembly-workspace .selection-strip small{display:block;line-height:1.4}.assembly-workspace .selection-strip b{line-height:1.4}}.circuit-panel .circuit-line.connected{stroke:#88debc;stroke-width:3.5;opacity:1;filter:none}.circuit-panel .circuit-line.formed{stroke:#f2ce83;stroke-width:4;filter:drop-shadow(0 0 2px #e6b85b66)}.item-dragging .circuit-panel .circuit-line.formed:not(.preview-edge){stroke:#f2ce83;filter:none}.circuit-panel .node.connection-target:not(.resonance-target){outline:2px dashed #88debc;outline-offset:2px}.resonance-star{pointer-events:none;width:18px;height:18px;line-height:18px;font-size:17px;right:-4px;top:-4px}.circuit-panel .circuit-line.preview-edge,.circuit-panel .circuit-line.preview-connection{stroke:#d9faff!important;stroke-width:4!important;stroke-dasharray:7 4!important;opacity:1;filter:drop-shadow(0 0 4px #69d8ff)}.circuit-panel .circuit-line.preview-removed{stroke:#f5a28d!important;stroke-dasharray:2 5!important;opacity:.8;filter:none}.connection-legend{display:flex;flex-wrap:wrap;gap:2px 12px;padding:5px 10px;font-size:11px;line-height:1.5;border-top:1px solid var(--line);color:#c9d3dc}.connection-legend>span{white-space:nowrap}.legend-connected{color:#88debc}.legend-formed{color:#f2ce83}.legend-preview{color:#c6f4ff}.preview-links{color:#b9f0da}.assembly-workspace .board-scroll{width:min(100%,max(280px,min(480px,calc(100dvh - 450px))))}@media(max-width:850px){.assembly-workspace .board-scroll{width:100%}.connection-legend{font-size:10px;gap:1px 8px}.assembly-workspace .placement-preview{height:88px;min-height:88px}.assembly-workspace .placement-preview>span{max-height:72px}}.connection-legend{font-size:12px;padding:3px 10px}.assembly-workspace .resonance-hint{overflow:hidden;text-overflow:ellipsis;max-width:100%}.workshop .companion-panel .six-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop .companion-panel .six-stats dd{font-size:18px;white-space:nowrap;letter-spacing:-.4px}@media(min-width:851px){.workshop .companion-head b{display:block;line-height:1.4}.workshop .companion-head span{display:block;font-size:14px;white-space:nowrap}}.assembly-workspace .board-scroll{width:min(100%,max(320px,min(500px,calc(100dvh - 350px))))}.assembly-workspace .board-view:not(.zoomed) .node{width:calc(7.17cqw * var(--board-scale));height:calc(7.17cqw * var(--board-scale))}.assembly-workspace .board-view:not(.zoomed) .node.equipment{width:calc(9cqw * var(--board-scale));height:calc(9cqw * var(--board-scale))}.circuit-svg{overflow:hidden}.board-ring{opacity:.3}.assembly-workspace .placement-preview:not(:has(b,button)){min-height:0;height:0;padding:0;border:0;overflow:hidden}.assembly-workspace .placement-preview{min-height:70px;height:auto}.connection-key{padding:0;border-color:#a4b4cc26}.connection-key>summary{min-height:36px;padding:4px 12px;font-size:13px;color:var(--muted)}.connection-key .connection-legend{padding:4px 12px 12px;border:0}.assembly-workspace>.departure{grid-column:1/-1;width:100%;order:5;margin:0;padding:10px 12px;border-color:#dfc18465;background:#1c2739;gap:8px}.departure .primary{min-width:240px}.departure>span{font-size:14px}.companion-details{padding:0 12px;border:0}.companion-details>summary{font-size:14px}.companion-details .workshop-duet{height:160px}.companion-details .workshop-duet img{max-height:160px}.companion-panel .personal-rank{padding:10px;margin:0}.companion-head{padding:12px}.rank-rules{padding:0;border:0;text-align:left;color:var(--muted)}.rank-rules summary{font-size:13px;min-height:44px}.rank-rules p{font-size:13px;line-height:1.7;margin:0 0 8px}.rank-badge{max-width:100%}.shop-panel{border-color:#a4b4cc40}.shop-panel .panel-head{padding:12px}.shop-panel .shop-six{gap:7px;padding:8px}.shop-card{padding:8px;border-color:#a4b4cc33}.shop-card>img{height:72px}.shop-card h3{font-size:15px;min-height:46px;line-height:1.5}.shop-card small{font-size:12px}.shop-card .buy-button{min-height:44px;font-size:15px;padding:7px}.shop-card .item-info{font-size:14px;min-height:44px}.owned-info{min-width:36px;white-space:nowrap}.opening .welcome-copy{isolation:isolate}.opening .welcome-copy:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,#e7d5aa18,transparent 65%);pointer-events:none}.opening .welcome-duet{filter:drop-shadow(0 0 24px #ead6a525)}.opening .welcome-copy h1{letter-spacing:.06em}.opening .selection-panel{background:#1d2636ed}.opening .resume-entry{width:100%;margin-bottom:24px}.opening .scene-kicker{font-size:13px;margin-bottom:8px;color:var(--gold)}@media(prefers-reduced-motion:no-preference){.opening .welcome-copy{animation:opening-reveal .7s ease-out both}@keyframes opening-reveal{0%{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:850px){.assembly-workspace .board-scroll{width:100%;max-width:500px}.assembly-workspace>.departure{padding:10px;flex-direction:column}.assembly-workspace .placement-preview>span{max-height:88px}.shop-panel .shop-six{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px;align-items:start}.shop-card>img{width:44px;height:62px}.shop-card h3{min-height:44px;font-size:14px}.shop-card .buy-button{width:100%;padding:6px 2px;font-size:14px}.shop-card .item-info{padding:4px 0}.workshop-layout>.companion-panel{display:block;width:100%;padding:0}.companion-head{display:flex;gap:8px;justify-content:space-between}.companion-panel .personal-rank{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.companion-panel .rank-rules{flex:1;min-width:130px}.companion-details .workshop-duet{float:left;width:40%;margin:0 12px 8px 0}.companion-details:after{content:"";display:block;clear:both}.game-header .header-controls{gap:10px}.game-header .icon-button{white-space:nowrap;flex:none}.p-wallet{font-size:19px;padding:5px 10px}.opening .welcome{gap:18px}.opening .welcome-copy{padding:12px 0}.opening .welcome-copy h1{font-size:30px}.opening .welcome-duet{height:190px;margin-top:12px}.opening .welcome-duet img{max-height:190px}.opening .selection-panel{padding:18px}.opening .choice-description{min-height:0;margin-block:12px}}@media(max-height:500px)and (max-width:950px){.game-header{position:relative}.assembly-workspace .board-scroll{max-width:390px}.opening .welcome-duet{height:160px}}.reduced .opening .welcome-copy{animation:none}.workshop:not(.opening)>main{padding-top:14px}.workshop-heading .scene-kicker{font-size:12px}.workshop-heading h1{font-size:25px;line-height:1.4}.workshop-heading{margin-bottom:10px}.assembly-workspace .board-scroll{width:min(100%,max(300px,min(480px,calc(100dvh - 410px))))}.assembly-workspace .selection-strip{height:54px;min-height:54px}.assembly-workspace .circuit-panel>.panel-head{padding:6px 10px}.assembly-workspace .node .slot-label{font-size:12px}.companion-panel .rank-badge{display:flex;padding:8px;gap:6px;align-items:flex-start}.companion-panel .rank-badge>img{width:28px;height:32px;flex:none}.companion-panel .rank-badge>span{min-width:0;flex:1}.companion-panel .rank-badge small{font-size:11px}.companion-panel .rank-next{font-size:12px}.companion-panel .rank-badge b{font-size:15px}@media(max-width:850px){.assembly-workspace .board-scroll{width:100%}.workshop-heading h1{font-size:23px}.workshop-heading{margin-bottom:4px}.companion-panel .rank-badge{min-width:210px}}@media(max-width:850px){.assembly-workspace .toolbox-items{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:88px;grid-auto-columns:auto;max-height:206px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.assembly-workspace .owned-item{touch-action:pan-y}.circuit-panel{scroll-margin-top:105px}.toolbox .panel-head>span{font-size:11px}}.shop-card .buy-button,.shop-card .item-info{min-height:48px}.workshop .companion-details .six-stats{gap:8px;margin:10px 0}.workshop .companion-details .six-stats dd{font-size:16px}.toolbox .panel-head h2{white-space:nowrap}@media(orientation:landscape)and (max-height:500px)and (min-width:650px)and (max-width:850px){.assembly-workspace{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:8px;align-items:start}.assembly-workspace>.circuit-panel{grid-column:1;grid-row:1}.assembly-workspace>.toolbox{grid-column:2;grid-row:1;position:sticky;top:8px}.assembly-workspace .toolbox-items{grid-template-columns:1fr;max-height:280px}.assembly-workspace .assembly-reference,.assembly-workspace .placement-list{grid-column:1/-1}}.assembly-workspace>.assembly-reference{order:6}@media(orientation:landscape)and (max-height:500px){.circuit-panel .board-scroll{scroll-margin-top:8px}}#resource-warning:not(:empty){margin-bottom:12px}#resource-warning button{margin-left:8px}.game-brand{display:inline-flex;align-items:center;gap:9px;flex:none;text-decoration:none;letter-spacing:0;color:#f3e6c8}.chime-mark{display:block;width:36px;height:36px;flex:none;color:#dfbc76}.chime-wordmark{display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap}.chime-name{font-family:"Noto Serif JP",serif;font-weight:600;font-size:24px;line-height:1.1;letter-spacing:.035em;font-kerning:normal}.chime-reading{font-family:Noto Sans JP,sans-serif;font-weight:500;font-size:9px;line-height:1.2;letter-spacing:.23em;color:#dfcda8}.game-brand:focus-visible{outline:2px solid #dfbc76;outline-offset:5px;border-radius:4px}.chime-crest{display:flex;justify-content:center;margin:0 0 10px}.chime-crest .chime-mark{width:62px;height:62px}.opening .welcome-copy .chime-title{margin:0 0 22px;letter-spacing:0}.chime-title .chime-wordmark{gap:14px}.chime-title .chime-name{font-size:clamp(44px,5.3vw,72px);letter-spacing:.025em;color:#f5e5be;text-shadow:0 2px 18px #c69a4333,0 2px 6px #0009}.chime-title .chime-reading{font-size:13px;letter-spacing:.36em}.welcome-copy .chime-promise{font-family:"Noto Serif JP",serif;font-size:17px;text-align:center;letter-spacing:.04em}@media(max-width:850px){.game-header{padding-top:5px;padding-bottom:5px}.game-brand{gap:7px}.game-brand .chime-mark{width:29px;height:29px}.game-brand .chime-name{font-size:21px;letter-spacing:.035em}.game-brand .chime-reading{font-size:8px;letter-spacing:.2em}.game-brand .chime-wordmark{gap:2px}.chime-crest{margin-bottom:5px}.chime-crest .chime-mark{width:45px;height:45px}.opening .welcome-copy .chime-title{margin-bottom:14px}.chime-title .chime-name{font-size:clamp(42px,9vw,62px)}.chime-title .chime-wordmark{gap:10px}.chime-title .chime-reading{font-size:11px}.welcome-copy .chime-promise{font-size:14px;letter-spacing:0}}@media(max-height:500px)and (max-width:950px){.chime-crest{display:none}.opening .welcome-copy .chime-title{margin-top:8px}.chime-title .chime-name{font-size:42px}}.title-screen{position:relative;isolation:isolate;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:#151922;padding:20px}.title-picture,.title-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.title-art{width:100%;height:100%;object-fit:contain;object-position:center}.title-shade{z-index:-1;background:linear-gradient(180deg,#0c142033,#0c142000 44%,#0c142088)}.title-content{width:min(100%,640px);min-height:calc(100svh - 40px);display:flex;align-items:center;flex-direction:column;text-align:center;color:#fff0cd;text-shadow:0 2px 12px #111b2b}.title-content .chime-title{margin:0}.title-content .chime-name{font-size:clamp(48px,7vw,88px);letter-spacing:.035em}.title-content .chime-reading{font-size:clamp(14px,2vw,19px);letter-spacing:.23em}.title-promise{font-family:"Noto Serif JP",serif;font-size:clamp(16px,2vw,20px);line-height:1.8;margin:22px 0 24px}.title-actions{margin-top:auto;display:grid;gap:12px;grid-template-columns:1fr 1fr;width:min(430px,85vw)}.title-actions button{display:flex;justify-content:center;align-items:center;text-align:center;min-height:54px;font-size:18px;letter-spacing:.13em;box-shadow:0 4px 20px #0b122b55}.title-actions .secondary{background:#192235d9;border-color:#d9c18a}.title-screen #resource-warning:not(:empty){position:absolute;bottom:8px;left:8px}@media(max-width:600px){.title-screen{padding:36px 18px 26px}.title-content{min-height:calc(100svh - 62px)}.title-art{object-position:center}.title-promise{margin-top:18px}.title-actions{grid-template-columns:1fr;width:min(280px,86vw)}}@media(max-height:480px)and (min-width:601px){.title-screen{padding:18px}.title-content{min-height:calc(100svh - 36px)}.title-content .chime-name{font-size:46px}.title-promise{margin:10px 0;font-size:15px}.title-actions{grid-template-columns:1fr 1fr;width:430px;gap:12px}}@media(orientation:landscape){.title-promise{display:none}.title-content .chime-name{font-size:clamp(46px,6vw,78px)}}@media(max-height:480px)and (min-width:601px){.title-picture{width:65%}.title-art{object-position:center}.title-content{width:35%;margin-left:auto;justify-content:center;min-height:calc(100svh - 36px)}.title-content .chime-name{font-size:clamp(28px,4.3vw,46px)}.title-content .chime-reading{font-size:12px;letter-spacing:.12em}.title-actions{margin-top:28px;grid-template-columns:1fr;width:100%;gap:10px}.title-actions button{min-height:48px;font-size:15px}}
