.oto-page{max-width:1140px;margin:0 auto}.oto-header{width:auto;margin:0 0 16px;padding-top:0}.oto-header h1{font-size:32px;font-weight:700;color:var(--text);margin:0 0 10px}.oto-header p{color:var(--text);font-size:15px;line-height:1.7;margin:0}.mode-switch{display:inline-flex;background:var(--card-bg);border:1px solid var(--card-border);border-radius:999px;padding:4px;margin-bottom:14px;box-shadow:var(--card-shadow)}.mode-switch input{position:absolute;opacity:0;pointer-events:none}.mode-switch label{padding:8px 28px;border-radius:999px;font-size:15px;font-weight:700;color:var(--text-sub);cursor:pointer;transition:all .25s ease;user-select:none}.mode-switch input:checked+label{background:var(--accent);color:#fff}.mode-switch label:hover{color:var(--text)}.mode-switch input:checked+label:hover{color:#fff}.oto-page[data-mode=play] .study-only,.oto-page[data-mode=study] .play-only{display:none}.game-main:has(#olStage){overflow-x:clip}.ol-stage{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:100vh;height:100svh;min-height:480px;margin-bottom:24px;overflow:hidden;background:#16120f;user-select:none;-webkit-user-select:none;isolation:isolate}.ol-stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.ol-stage canvas.is-grabbing{cursor:grabbing!important}.ol-stage canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}.ol-bar{position:absolute;left:0;right:0;height:12%;background:#000;z-index:3;pointer-events:none;transition:transform 1.1s cubic-bezier(.7,0,.3,1)}.ol-bar-top{top:0;transform:translateY(-101%)}.ol-bar-bottom{bottom:0;transform:translateY(101%)}.ol-stage.is-poster .ol-bar,.ol-stage.is-opening .ol-bar{transform:translateY(0)}.ol-fade{position:absolute;inset:0;background:#000;z-index:2;opacity:0;pointer-events:none}.ol-stage.is-opening .ol-fade{animation:ol-fade-in 1.6s ease forwards}@keyframes ol-fade-in{0%{opacity:1}to{opacity:0}}.ol-flash{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at 50% 50%,#ffecc4d9,#ffc87840 40%,#0000 70%);opacity:0;pointer-events:none}.ol-flash.show{animation:ol-flash 1.2s ease-out forwards}@keyframes ol-flash{0%{opacity:0}8%{opacity:1}to{opacity:0}}.ol-card{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 24px;text-align:center;pointer-events:none;opacity:0;text-shadow:0 2px 10px rgba(0,0,0,.85)}.ol-card.show{opacity:1}.ol-card:before{content:"";position:absolute;left:50%;top:50%;width:min(900px,110%);height:260px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,#0000008c,#0000 70%);z-index:-1}.ol-card.show>*{animation:ol-card-in 1.1s cubic-bezier(.2,.7,.2,1) both}.ol-card.show>:nth-child(2){animation-delay:.35s}.ol-card.show>:nth-child(3){animation-delay:.7s}.ol-card.out{transition:opacity .6s ease,filter .6s ease;opacity:0;filter:blur(6px)}@keyframes ol-card-in{0%{opacity:0;transform:translateY(14px);filter:blur(8px);letter-spacing:.3em}to{opacity:1;transform:translateY(0);filter:blur(0)}}.ol-en-l{font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,6vw,76px);font-weight:700;letter-spacing:.14em;color:#f6e7c4;line-height:1.1}.ol-card.ol-sub{inset:auto 0 12%;justify-content:flex-end;padding:0 24px 20px}.ol-sp-br{display:none}@media (max-width: 640px){.ol-sp-br{display:inline}}.ol-card.ol-sub:before{display:none}.ol-sub-ja{font-size:clamp(17px,2.1vw,24px);line-height:1.6;max-width:30em;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;font-weight:500;letter-spacing:.1em;color:#f4ead6;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.8)}.ol-en-l2{font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,3.8vw,46px);font-weight:700;letter-spacing:.05em;color:#f6e7c4;line-height:1.25}.ol-en-m{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(16px,2.4vw,28px);letter-spacing:.06em;color:#e8cf98}.ol-en-s{font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,4vw,44px);font-weight:700;letter-spacing:.3em;padding-left:.3em;color:#e8cf98}.ol-en-xs{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(14px,1.8vw,19px);letter-spacing:.5em;padding-left:.5em;color:#efe2c6bf}.ol-ja{margin-top:6px;font-size:clamp(12px,1.4vw,15px);letter-spacing:.14em;color:#efe2c6cc}.ol-title-main{display:flex;gap:.04em;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,8.6vw,112px);font-weight:700;line-height:1.1;filter:drop-shadow(0 0 22px rgba(255,196,100,.35)) drop-shadow(0 4px 2px rgba(0,0,0,.55))}.ol-sp{width:.35em}.ol-ch{display:inline-block;background:linear-gradient(180deg,#fffaf0,#fbe3a6 40%,#e6b154 72%,#b97a2a);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0}.ol-title.show>.ol-title-main{animation:none}.ol-title.show .ol-ch{animation:ol-ch-in .9s cubic-bezier(.2,.7,.2,1) calc(var(--i) * .06s) forwards,ol-ch-shine 1s ease calc(.9s + var(--i) * .05s)}.ol-title-ja{font-size:clamp(14px,2vw,22px);letter-spacing:.6em;padding-left:.6em}@keyframes ol-ch-in{0%{opacity:0;transform:translateY(20px) scale(1.3);filter:blur(12px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes ol-ch-shine{0%,to{filter:brightness(1)}40%{filter:brightness(1.7)}}.ol-start-pop{position:absolute;left:50%;top:42%;z-index:5;transform:translate(-50%,-50%);font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4.6vw,54px);font-weight:600;letter-spacing:.7em;padding-left:.7em;color:#f6dfa8;text-shadow:0 0 22px rgba(255,196,100,.6),0 2px 4px rgba(0,0,0,.6);opacity:0;pointer-events:none}.ol-start-pop.show{animation:ol-pop 1.5s ease forwards}@keyframes ol-pop{0%{opacity:0;letter-spacing:1.2em;filter:blur(8px)}30%{opacity:1;letter-spacing:.7em;filter:blur(0)}70%{opacity:1}to{opacity:0;letter-spacing:.8em;filter:blur(4px)}}.ol-poster{position:absolute;inset:0;z-index:6;display:none;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#050403}.ol-stage.is-poster .ol-poster{display:flex}.ol-start{position:relative;min-width:180px;min-height:52px;padding:0 34px;border:1px solid rgba(217,195,154,.45);border-radius:2px;background:transparent;color:#d9c39a;cursor:pointer;transition:border-color .4s ease,color .4s ease,box-shadow .4s ease}.ol-start:before,.ol-start:after{content:"";position:absolute;width:8px;height:8px;border:1px solid rgba(240,207,134,.8);pointer-events:none}.ol-start:before{left:4px;top:4px;border-right:0;border-bottom:0}.ol-start:after{right:4px;bottom:4px;border-left:0;border-top:0}.ol-start-label{font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:600;letter-spacing:.5em;padding-left:.5em}.ol-start:hover,.ol-start:focus-visible{border-color:#f0cf86d9;color:#f3dfb0;box-shadow:0 0 18px #f0be642e}.ol-sound-toggle{min-width:74px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid rgba(217,195,154,.35);border-radius:999px;font-family:Georgia,Times New Roman,serif;font-size:12px;font-weight:700;letter-spacing:.12em;background:transparent;color:#d9c39ad9;cursor:pointer;transition:border-color .3s ease,color .3s ease}.ol-sound-toggle:hover,.ol-sound-toggle:focus-visible{border-color:#f0cf86d9;color:#f3dfb0}.ol-sound-toggle .snd-off{display:none}.ol-sound-toggle:not(.is-on){color:#d9c39a73}.ol-sound-toggle:not(.is-on) .snd-on{display:none}.ol-sound-toggle:not(.is-on) .snd-off{display:inline}.ol-stage.is-poster .ol-toast{z-index:7;top:calc(50% + 72px);font-size:13px;padding:7px 16px}.ol-skip-intro,.ol-skip{position:absolute;right:16px;bottom:14px;z-index:7;min-height:34px;padding:4px 12px;border:0;border-radius:999px;background:transparent;color:#ecdcc099;font-family:Georgia,Times New Roman,serif;font-size:12px;letter-spacing:.2em;cursor:pointer}.ol-skip-intro:hover,.ol-skip:hover{color:#f6dfa8;background:#ffffff0f}.oto-page{--ol-glass: rgba(18, 13, 8, .62);--ol-line: rgba(217, 195, 154, .42);--ol-gold: #e8cf98;--ol-cream: #efe2c6}.ol-hud,.ol-dock,.ol-hint,.ol-toast{transition:opacity .6s ease}.ol-stage:not(.is-play) .ol-hud,.ol-stage:not(.is-play) .ol-dock,.ol-stage:not(.is-play) .ol-hint{opacity:0;pointer-events:none}.ol-hud{position:absolute;top:60px;left:12px;right:12px;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none}.ol-hud>*{pointer-events:auto}.ol-status{display:inline-flex;align-items:baseline;gap:8px;padding:6px 14px;border:1px solid var(--ol-line);border-radius:2px;background:var(--ol-glass);color:#efe2c6b3;font-size:11px;letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ol-status b{font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:600;color:var(--ol-gold);font-variant-numeric:tabular-nums;letter-spacing:.04em}.ol-status:empty{display:none}.ol-hud-right{display:flex;gap:8px}.ol-icon-btn{position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--ol-line);border-radius:50%;background:var(--ol-glass);color:var(--ol-gold);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .3s ease,box-shadow .3s ease}.ol-icon-btn:hover,.ol-icon-btn:focus-visible{border-color:#f0cf86d9;box-shadow:0 0 14px #f0be6440}.ol-icon-btn .snd-muted{display:none}.ol-icon-btn.is-muted .snd-muted{display:inline}.ol-icon-btn.is-muted .snd-waves{display:none}.ol-trophy-count{position:absolute;right:-4px;bottom:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#d9b46a;color:#1e1406;font-family:Georgia,Times New Roman,serif;font-size:10px;font-weight:700;line-height:17px;text-align:center}.ol-hint{position:absolute;left:50%;top:116px;z-index:2;transform:translate(-50%);max-width:calc(100% - 32px);margin:0;padding:4px 14px;background:transparent;color:#efe2c6d9;font-size:13px;line-height:1.6;letter-spacing:.06em;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.7);opacity:0;pointer-events:none}.ol-stage.is-play .ol-hint.show{opacity:1}.ol-toast{position:absolute;left:50%;top:158px;z-index:4;transform:translate(-50%,-8px);padding:10px 22px;border:1px solid var(--ol-line);border-radius:2px;background:#120d08c7;color:var(--ol-cream);font-size:14px;letter-spacing:.04em;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}.ol-toast.show{opacity:1;transform:translate(-50%)}.ol-toast b{margin-right:6px;color:var(--ol-gold)}.ol-toast.trophy{border-color:#f0cf86e6;box-shadow:0 0 24px #f0be6459;color:#fff3d6}.ol-toast.trophy .ol-toast-kicker{display:block;margin-bottom:2px;font-family:Georgia,Times New Roman,serif;font-size:10px;letter-spacing:.5em;padding-left:.5em;color:var(--ol-gold)}.ol-nogl{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;color:#f1e3c8;text-align:center;line-height:1.8}.ol-case{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:70px 16px 16px;background:#050403b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ol-case[hidden]{display:none}.ol-case-box{position:relative;width:min(760px,100%);max-height:100%;overflow:auto;padding:26px 24px 22px;border:1px solid rgba(217,195,154,.55);background:linear-gradient(180deg,#22180ef5,#100b06f5);box-shadow:0 20px 60px #0009,inset 0 0 40px #f0be640f}.ol-case-head{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:0 0 18px}.ol-case-head h2{width:auto;margin:0;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:600;letter-spacing:.6em;padding-left:.6em;color:var(--ol-gold)}.ol-case-head small{font-family:Georgia,Times New Roman,serif;font-size:13px;letter-spacing:.12em;color:#efe2c699;font-variant-numeric:tabular-nums}.ol-case-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;background:transparent;color:#efe2c6b3;font-size:20px;cursor:pointer}.ol-case-close:hover{color:var(--ol-gold)}.ol-case .ol-trophy-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.ol-case .ol-trophy,.ol-trophies .ol-trophy{border-color:#d9c39a38;background:#fff0d208}.ol-case .ol-trophy b,.ol-trophies .ol-trophy b{color:#f6e7c4}.ol-case .ol-trophy small,.ol-trophies .ol-trophy small{color:#efe2c6b8}.ol-case .ol-trophy.is-locked .ol-trophy-icon,.ol-trophies .ol-trophy.is-locked .ol-trophy-icon{background:#fff0d20f;color:#efe2c68c}.ol-case .ol-trophy.is-locked b,.ol-trophies .ol-trophy.is-locked b{color:#efe2c699}.ol-scroll{position:absolute;right:16px;bottom:18px;z-index:2;padding:4px 10px;border:0;background:transparent;color:#efe2c68c;font-size:12px;letter-spacing:.08em;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.8);transition:opacity .6s ease,color .3s ease}.ol-scroll:hover{color:var(--ol-gold)}.ol-stage:not(.is-play) .ol-scroll{opacity:0;pointer-events:none}.ol-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}.control-section{background:var(--card-bg);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow)}.control-section h2{width:auto;margin:0 0 10px;font-size:1.05rem;color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-tile{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--card-border);border-radius:12px}.stat-tile small{font-size:12px;color:var(--text-sub)}.stat-tile b{font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}.stat-angle{margin:12px 0 0;font-size:14px;color:var(--text-sub)}.stat-angle strong{color:var(--text);font-variant-numeric:tabular-nums}.check-row{display:flex;align-items:center;gap:8px;min-height:var(--tap-min);font-size:14px;color:var(--text);cursor:pointer}.check-row input{width:18px;height:18px;accent-color:var(--accent)}.study-note{margin:8px 0 0;font-size:13px;line-height:1.7;color:var(--text-sub)}.ol-trophies{margin-top:16px;padding:22px 20px;border:1px solid rgba(217,195,154,.45);border-radius:var(--card-radius);background:linear-gradient(180deg,#22180e,#120c06);box-shadow:var(--card-shadow),inset 0 0 40px #f0be640f}.ol-trophies h2{width:auto;margin:0 0 14px;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:600;letter-spacing:.5em;color:#e8cf98}.ol-trophies h2 small{margin-left:6px;font-size:13px;letter-spacing:.1em;color:#efe2c699;font-variant-numeric:tabular-nums}.ol-trophy-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:0;padding:0;list-style:none}.ol-trophy{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--card-border);border-radius:12px}.ol-trophy-icon{flex:0 0 40px;height:40px;display:grid;place-items:center;border:1px solid rgba(240,207,134,.7);border-radius:50%;background:radial-gradient(circle at 35% 30%,#5a4020,#241808);box-shadow:0 0 12px #f0be6440;font-size:20px}.ol-trophy b{display:block;font-size:14px;color:var(--text)}.ol-trophy small{display:block;font-size:12px;line-height:1.5;color:var(--text-sub)}.ol-trophy.is-locked .ol-trophy-icon{background:var(--card-border);color:var(--text-sub);font-weight:800}.ol-trophy.is-locked b{color:var(--text-sub)}.ol-trophy.is-new{animation:ol-trophy-new .7s ease}@keyframes ol-trophy-new{0%{transform:scale(.8);background:#f0be644d}60%{transform:scale(1.05)}to{transform:scale(1)}}.ol-trophy-note{margin:12px 0 0;font-size:12px;color:#efe2c680}.explanation{margin-top:32px;padding:28px;background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.explanation h2{width:auto;margin:0 0 14px;font-size:1.25rem;color:var(--text)}.explanation p{line-height:1.8;color:var(--text);margin-bottom:12px}@media (max-width: 900px){.oto-page{padding:0 14px}.ol-panels{grid-template-columns:1fr}}@media (max-width: 480px){.oto-header h1{font-size:24px}.mode-switch label{padding:8px 20px}.explanation{padding:20px}.ol-hint{font-size:12px}}@media screen and (max-width: 600px){.oto-page .oto-header{margin-bottom:12px}.oto-page .oto-header h1{font-size:20px;margin-bottom:8px}.oto-page .ol-panels{gap:12px;margin-top:12px}.oto-page .control-section{padding:14px}.oto-page .control-section h2{font-size:16px;margin-bottom:8px}.oto-page .mode-switch{margin-bottom:12px;padding:2px}.oto-page .mode-switch label{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);padding:6px 14px;font-size:13px}.ol-scroll{width:36px;height:36px;padding:0;display:grid;place-items:center;font-size:0}.ol-scroll span{font-size:13px}.ol-icon-btn{width:36px;height:36px}}.ol-hint{width:max-content}.ol-poster-note{margin:-6px 0 0;font-size:12px;letter-spacing:.08em;color:#d9c39a8c}.ol-status span{font-size:11px}.ol-status .ol-status-note{margin-left:2px;color:#efe2c699}.ol-dock{position:absolute;left:50%;bottom:14px;z-index:2;transform:translate(-50%);width:min(780px,calc(100% - 24px));padding:10px 14px 9px;border:1px solid var(--ol-line);border-radius:2px;background:var(--ol-glass);color:var(--ol-cream);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:8px}.ol-dock:before,.ol-dock:after{content:"";position:absolute;width:8px;height:8px;border:1px solid rgba(240,207,134,.7);pointer-events:none}.ol-dock:before{left:4px;top:4px;border-right:0;border-bottom:0}.ol-dock:after{right:4px;bottom:4px;border-left:0;border-top:0}.ol-dock label,.ol-dock output{font-size:12px;letter-spacing:.06em;color:#efe2c6c7}.ol-dock output{font-variant-numeric:tabular-nums}.ol-dock-top,.ol-dock-row{display:flex;align-items:center;gap:14px}.ol-play{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:124px;min-height:48px;padding:0 20px;border:1px solid rgba(217,195,154,.6);border-radius:2px;background:#1e160c99;color:var(--ol-gold);font-size:15px;font-weight:700;letter-spacing:.18em;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease,color .3s ease}.ol-play:before,.ol-play:after{content:"";position:absolute;width:7px;height:7px;border:1px solid rgba(240,207,134,.85);pointer-events:none}.ol-play:before{left:3px;top:3px;border-right:0;border-bottom:0}.ol-play:after{right:3px;bottom:3px;border-left:0;border-top:0}.ol-play:hover,.ol-play:focus-visible{border-color:#f0cf86f2;color:#fff0c8;box-shadow:0 0 20px #f0be6440}.ol-play .ic-stop,.ol-play.is-playing .ic-play{display:none}.ol-play.is-playing .ic-stop{display:inline}.ol-play.is-playing{color:#c8ffd9;border-color:#78f0aabf;animation:ol-play-glow 2.2s ease-in-out infinite}@keyframes ol-play-glow{0%,to{box-shadow:0 0 #5aff9600}50%{box-shadow:0 0 22px #5aff9659}}.ol-freq{flex:1 1 auto;min-width:0}.ol-freq-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.ol-fine{display:inline-flex;align-items:center;gap:6px}.ol-freq-val{min-width:72px;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:18px!important;font-weight:600;color:var(--ol-gold)!important}.ol-fine-btn{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid var(--ol-line);border-radius:50%;background:transparent;color:var(--ol-gold);font-size:15px;line-height:1;cursor:pointer}.ol-fine-btn:hover,.ol-fine-btn:focus-visible{border-color:#f0cf86d9}.ol-dock input[type=range]{width:100%;margin:2px 0 0;accent-color:#d9b46a;cursor:pointer}.ol-scale-hint{display:flex;justify-content:space-between;margin:0;font-size:10px;letter-spacing:.04em;color:#efe2c680}.ol-wave-btns{flex:1 1 auto;display:flex;gap:6px}.oto-wave-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 6px;border:1px solid rgba(217,195,154,.28);border-radius:2px;background:transparent;color:#efe2c6bf;font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.oto-wave-btn svg{width:22px;height:11px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.oto-wave-btn:hover,.oto-wave-btn:focus-visible{border-color:#f0cf86b3;color:#fff0c8}.oto-wave-btn.is-active{border-color:#f0cf86e6;background:#f0be6424;color:var(--ol-gold)}.ol-vol{flex:0 0 190px;display:flex;flex-direction:column}.ol-dock-chips{flex-wrap:wrap;gap:8px 12px}.oto-preset-btns{display:flex;gap:6px}.oto-preset-btn{min-height:30px;padding:0 10px;border:1px solid rgba(217,195,154,.28);border-radius:999px;background:transparent;color:#efe2c6c7;font-family:Georgia,Times New Roman,serif;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer}.oto-preset-btn:hover,.oto-preset-btn:focus-visible{border-color:#f0cf86cc;color:#fff0c8}.ol-la{font-family:system-ui,-apple-system,Hiragino Sans,sans-serif;font-size:11px}.ol-tdiv{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.ol-tdiv select{min-height:30px;padding:0 8px;border:1px solid rgba(217,195,154,.35);border-radius:2px;background:#120d08d9;color:var(--ol-gold);font-size:12px;cursor:pointer}.ol-mic-chip{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 12px;border:1px solid rgba(217,195,154,.35);border-radius:999px;background:transparent;color:#efe2c6c7;font-size:12px;font-weight:700;cursor:pointer}.ol-mic-chip:hover,.ol-mic-chip:focus-visible{border-color:#f0cf86cc;color:#fff0c8}.ol-mic-chip.is-on{border-color:#ff7864cc;color:#ffd2c8;background:#ff5a3c24}.ol-mute-note{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;padding:6px 14px;border:1px solid rgba(255,150,120,.55);border-radius:2px;background:#1e0a06cc;color:#ffd9c8;font-size:12px;line-height:1.5;letter-spacing:.04em;text-align:center}.ol-mute-note[hidden]{display:none}.ol-stage.is-nogl .ol-nogl{inset:0 0 auto;height:50%}.now-sound{display:flex;align-items:center;gap:16px}.now-freq{font-size:44px;font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.now-freq small{margin-left:2px;font-size:18px}.now-text{font-size:14px;line-height:1.7;color:var(--text)}.now-waves{margin:12px 0 0;font-size:14px;line-height:1.7;color:var(--text)}.now-waves b,.now-text b{font-variant-numeric:tabular-nums}.predict-tip{margin-top:12px;font-size:13px}.predict-tip summary{color:var(--accent);font-weight:700;cursor:pointer;user-select:none}.predict-tip p{line-height:1.8;color:var(--text);margin:8px 0 0}.stat-tile b{font-size:19px}.ol-graphs{grid-column:1 / -1}.oto-graph-block{margin-bottom:14px}.oto-graph-label{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}.oto-board-wrapper{padding:8px;border-radius:12px;background:#0b1410}#micWaveCanvas,#micSpectrumCanvas{display:block;width:100%;height:180px;border-radius:6px}.oto-mic-badge{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:var(--accent-soft, rgba(42, 157, 143, .08));font-size:13px;color:var(--text)}.oto-mic-lead{margin:0 0 12px;font-size:14px;line-height:1.8;color:var(--text)}.oto-mic-note{margin:10px 0 0;font-size:12px;color:var(--text-sub)}.ol-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min, 44px);padding:0 20px;border:2px solid var(--accent);border-radius:12px;background:var(--card-bg);color:var(--accent);font-size:15px;font-weight:700;cursor:pointer}.ol-btn:hover{background:var(--accent-soft, rgba(42, 157, 143, .08))}.oto-notice{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#fff8e1;color:#7a5b00;font-size:14px;line-height:1.7}.oto-notice-head{display:block;margin-bottom:4px;font-weight:700}.oto-notice.is-error{background:#fdecec;color:#a12626}.oto-notice.is-error ul{margin:8px 0 0 18px;padding:0}.oto-privacy{margin:16px 0 0;font-size:.78rem;color:var(--text-sub, #94a3b8);text-align:center}.oto-triad{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.oto-triad-item{padding:16px;border-radius:12px;background:var(--accent-soft, rgba(42, 157, 143, .08))}.oto-triad-svg{width:100%;height:44px;margin-bottom:8px;color:var(--accent)}.oto-triad-item h3{margin:0 0 6px;font-size:1rem;color:var(--text)}.oto-triad-item p{margin:0;font-size:13px;line-height:1.7;color:var(--text)}@media (max-width: 1180px){.ol-scroll{display:none}}@media (max-width: 900px){.oto-triad{grid-template-columns:1fr}}@media (max-width: 640px){.ol-dock{bottom:8px;width:calc(100% - 16px);padding:8px 10px;gap:6px}.ol-dock-top{gap:10px}.ol-play{min-width:92px;min-height:44px;padding:0 12px;font-size:14px;letter-spacing:.1em}.ol-scale-hint,.ol-la{display:none}.ol-dock{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"top top" "wave wave" "vol mic" "preset tdiv";gap:6px 8px}.ol-dock-row,.ol-dock-chips{display:contents}.ol-dock-top{grid-area:top}.ol-wave-btns{grid-area:wave}.ol-vol{grid-area:vol}.ol-mic-chip{grid-area:mic;justify-self:end}.oto-preset-btns{grid-area:preset}.ol-tdiv{grid-area:tdiv;justify-self:end}.ol-vol{flex:0 0 auto;flex-direction:row;align-items:center;gap:10px}.ol-vol label{flex:0 0 auto;white-space:nowrap}.oto-wave-btn{min-height:32px;padding:0 2px;gap:3px;font-size:11px;letter-spacing:0}.oto-wave-btn svg{width:16px}.ol-dock-chips{gap:6px 8px}.oto-preset-btns{gap:4px}.oto-preset-btn{min-height:28px;padding:0 5px;font-size:11px}.ol-tdiv{margin-left:0;gap:4px;font-size:11px!important;white-space:nowrap}.ol-tdiv select{padding:0 4px}.ol-hud{top:56px}.ol-status{max-width:52vw;flex-wrap:wrap}.ol-status .ol-status-note{display:none}.ol-hint{top:104px}.ol-toast{top:140px;max-width:calc(100% - 32px);width:max-content;font-size:13px;padding:8px 14px}.now-freq{font-size:36px}}.ol-toast small{display:block;margin-top:2px;font-size:12px;color:#efe2c6bf}@media (max-width: 600px){.ol-sub-ja{font-size:17px;line-height:1.7;letter-spacing:.06em}.ol-card.ol-sub{padding-left:18px;padding-right:18px}}.ol-sub-ja>.ol-cite{display:block;margin-top:.8em;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,"Noto Serif JP",serif;font-size:max(12px,.62em);font-weight:300;line-height:1.4;letter-spacing:.22em;color:#d8b56a;text-align:center;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.9),0 0 18px rgba(0,0,0,.75);opacity:0}.ol-cite-dash{letter-spacing:0;margin-right:.3em}.ol-card.show .ol-sub-ja>.ol-cite{animation:ol-cite-in 1.4s ease-out 1.2s both}@keyframes ol-cite-in{0%{opacity:0;filter:blur(4px);transform:translateY(5px)}to{opacity:.92;filter:blur(0);transform:translateY(0)}}@media screen and (orientation: landscape) and (max-height: 500px){.ol-stage,.ol-stage.is-theater{height:100dvh;min-height:0}.ol-stage .ol-skip-intro{top:auto;bottom:12px}}
