.iro-page{max-width:1140px;margin:0 auto}.iro-header{width:auto;margin:0 0 20px;padding-top:0}.iro-header h1{font-size:32px;font-weight:700;color:var(--text);margin:0 0 10px}.iro-header p{color:var(--text);font-size:15px;line-height:1.7;margin:0}.game-main:has(#imStage){overflow-x:clip}.im-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}.im-stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.im-stage canvas.is-grabbing{cursor:grabbing!important}.im-stage canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}.im-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)}.im-bar-top{top:0;transform:translateY(-101%)}.im-bar-bottom{bottom:0;transform:translateY(101%)}.im-stage.is-poster .im-bar,.im-stage.is-opening .im-bar{transform:translateY(0)}.im-fade{position:absolute;inset:0;background:#000;z-index:2;opacity:0;pointer-events:none}.im-stage.is-opening .im-fade{animation:im-fade-in 1.6s ease forwards}@keyframes im-fade-in{0%{opacity:1}to{opacity:0}}.im-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}.im-flash.show{animation:im-flash 1.2s ease-out forwards}@keyframes im-flash{0%{opacity:0}8%{opacity:1}to{opacity:0}}.im-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)}.im-card.show{opacity:1}.im-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}.im-card.show>*{animation:im-card-in 1.1s cubic-bezier(.2,.7,.2,1) both}.im-card.show>:nth-child(2){animation-delay:.35s}.im-card.show>:nth-child(3){animation-delay:.7s}.im-card.out{transition:opacity .6s ease,filter .6s ease;opacity:0;filter:blur(6px)}@keyframes im-card-in{0%{opacity:0;transform:translateY(14px);filter:blur(8px);letter-spacing:.3em}to{opacity:1;transform:translateY(0);filter:blur(0)}}.im-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}.im-card.im-sub{inset:auto 0 12%;justify-content:flex-end;padding:0 24px 20px}.im-card.im-sub:before{display:none}.im-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)}.im-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}.im-en-m{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:clamp(16px,2.4vw,28px);letter-spacing:.06em;color:#e8cf98}.im-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}.im-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}.im-ja{margin-top:6px;font-size:clamp(12px,1.4vw,15px);letter-spacing:.14em;color:#efe2c6cc}.im-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))}.im-sp{width:.35em}.im-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}.im-title.show>.im-title-main{animation:none}.im-title.show .im-ch{animation:im-ch-in .9s cubic-bezier(.2,.7,.2,1) calc(var(--i) * .06s) forwards,im-ch-shine 1s ease calc(.9s + var(--i) * .05s)}.im-title-ja{font-size:clamp(14px,2vw,22px);letter-spacing:.6em;padding-left:.6em}@keyframes im-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 im-ch-shine{0%,to{filter:brightness(1)}40%{filter:brightness(1.7)}}.im-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}.im-start-pop.show{animation:im-pop 1.5s ease forwards}@keyframes im-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)}}.im-poster{position:absolute;inset:0;z-index:6;display:none;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#050403}.im-stage.is-poster .im-poster{display:flex}.im-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}.im-start:before,.im-start:after{content:"";position:absolute;width:8px;height:8px;border:1px solid rgba(240,207,134,.8);pointer-events:none}.im-start:before{left:4px;top:4px;border-right:0;border-bottom:0}.im-start:after{right:4px;bottom:4px;border-left:0;border-top:0}.im-start-label{font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:600;letter-spacing:.5em;padding-left:.5em}.im-start:hover,.im-start:focus-visible{border-color:#f0cf86d9;color:#f3dfb0;box-shadow:0 0 18px #f0be642e}.im-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}.im-sound-toggle:hover,.im-sound-toggle:focus-visible{border-color:#f0cf86d9;color:#f3dfb0}.im-sound-toggle .snd-off{display:none}.im-sound-toggle:not(.is-on){color:#d9c39a73}.im-sound-toggle:not(.is-on) .snd-on{display:none}.im-sound-toggle:not(.is-on) .snd-off{display:inline}.im-stage.is-poster .im-toast{z-index:7;top:calc(50% + 72px);font-size:13px;padding:7px 16px}.im-skip-intro,.im-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}.im-skip-intro:hover,.im-skip:hover{color:#f6dfa8;background:#ffffff0f}.iro-page{--im-glass: rgba(18, 13, 8, .62);--im-line: rgba(217, 195, 154, .42);--im-gold: #e8cf98;--im-cream: #efe2c6}.im-hud,.im-console,.im-hint,.im-toast{transition:opacity .6s ease}.im-stage:not(.is-play) .im-hud,.im-stage:not(.is-play) .im-console,.im-stage:not(.is-play) .im-hint{opacity:0;pointer-events:none}.im-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}.im-hud>*{pointer-events:auto}.im-status{display:inline-flex;align-items:baseline;gap:8px;padding:6px 14px;border:1px solid var(--im-line);border-radius:2px;background:var(--im-glass);color:#efe2c6b3;font-size:11px;letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.im-status b{font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:600;color:var(--im-gold);font-variant-numeric:tabular-nums;letter-spacing:.04em}.im-status:empty{display:none}.im-hud-right{display:flex;gap:8px}.im-icon-btn{position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--im-line);border-radius:50%;background:var(--im-glass);color:var(--im-gold);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .3s ease,box-shadow .3s ease}.im-icon-btn:hover,.im-icon-btn:focus-visible{border-color:#f0cf86d9;box-shadow:0 0 14px #f0be6440}.im-icon-btn .snd-muted{display:none}.im-icon-btn.is-muted .snd-muted{display:inline}.im-icon-btn.is-muted .snd-waves{display:none}.im-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}.im-console{position:absolute;left:50%;bottom:18px;z-index:2;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px}.im-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 16px;border:1px solid var(--im-line);border-radius:999px;background:var(--im-glass);color:var(--im-gold);font-size:12px;font-weight:700;letter-spacing:.1em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.im-chip[hidden]{display:none}.im-chip:hover,.im-chip:focus-visible{border-color:#f0cf86d9;color:#fff0c8}.im-main{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 30px;border:1px solid rgba(217,195,154,.6);border-radius:2px;background:var(--im-glass);color:var(--im-gold);font-size:15px;font-weight:700;letter-spacing:.18em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .3s ease,box-shadow .3s ease,color .3s ease}.im-main:before,.im-main:after{content:"";position:absolute;width:8px;height:8px;border:1px solid rgba(240,207,134,.85);pointer-events:none}.im-main:before{left:4px;top:4px;border-right:0;border-bottom:0}.im-main:after{right:4px;bottom:4px;border-left:0;border-top:0}.im-main:hover,.im-main:focus-visible{border-color:#f0cf86f2;color:#fff0c8;box-shadow:0 0 20px #f0be6440}.im-main:active{transform:translateY(1px)}.im-main.pulse{animation:im-main-pulse 2.4s ease-in-out infinite}@keyframes im-main-pulse{0%,to{box-shadow:0 0 #f0be6400;border-color:#d9c39a99}50%{box-shadow:0 0 26px #f0be6466;border-color:#f0cf86}}.im-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}.im-stage.is-play .im-hint.show{opacity:1}.im-toast{position:absolute;left:50%;top:158px;z-index:4;transform:translate(-50%,-8px);padding:10px 22px;border:1px solid var(--im-line);border-radius:2px;background:#120d08c7;color:var(--im-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}.im-toast.show{opacity:1;transform:translate(-50%)}.im-toast b{margin-right:6px;color:var(--im-gold)}.im-toast.trophy{border-color:#f0cf86e6;box-shadow:0 0 24px #f0be6459;color:#fff3d6}.im-toast.trophy .im-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(--im-gold)}.im-nogl{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;color:#f1e3c8;text-align:center;line-height:1.8}.im-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)}.im-case[hidden]{display:none}.im-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}.im-case-head{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:0 0 18px}.im-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(--im-gold)}.im-case-head small{font-family:Georgia,Times New Roman,serif;font-size:13px;letter-spacing:.12em;color:#efe2c699;font-variant-numeric:tabular-nums}.im-case-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;background:transparent;color:#efe2c6b3;font-size:20px;cursor:pointer}.im-case-close:hover{color:var(--im-gold)}.im-case .im-trophy-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.im-case .im-trophy,.im-trophies .im-trophy{border-color:#d9c39a38;background:#fff0d208}.im-case .im-trophy b,.im-trophies .im-trophy b{color:#f6e7c4}.im-case .im-trophy small,.im-trophies .im-trophy small{color:#efe2c6b8}.im-case .im-trophy.is-locked .im-trophy-icon,.im-trophies .im-trophy.is-locked .im-trophy-icon{background:#fff0d20f;color:#efe2c68c}.im-case .im-trophy.is-locked b,.im-trophies .im-trophy.is-locked b{color:#efe2c699}.im-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}.im-scroll:hover{color:var(--im-gold)}.im-stage:not(.is-play) .im-scroll{opacity:0;pointer-events:none}.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)}.study-note{margin:8px 0 0;font-size:13px;line-height:1.7;color:var(--text-sub)}.im-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}.im-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}.im-trophies h2 small{margin-left:6px;font-size:13px;letter-spacing:.1em;color:#efe2c699;font-variant-numeric:tabular-nums}.im-trophy-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:0;padding:0;list-style:none}.im-trophy{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--card-border);border-radius:12px}.im-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}.im-trophy b{display:block;font-size:14px;color:var(--text)}.im-trophy small{display:block;font-size:12px;line-height:1.5;color:var(--text-sub)}.im-trophy.is-locked .im-trophy-icon{background:var(--card-border);color:var(--text-sub);font-weight:800}.im-trophy.is-locked b{color:var(--text-sub)}.im-trophy.is-new{animation:im-trophy-new .7s ease}@keyframes im-trophy-new{0%{transform:scale(.8);background:#f0be644d}60%{transform:scale(1.05)}to{transform:scale(1)}}.im-trophy-note{margin:12px 0 0;font-size:12px;color:#efe2c680}.stage{position:relative;width:100%;max-width:520px;aspect-ratio:1 / 1;margin:0 auto;border-radius:16px;overflow:hidden;transition:background .2s ease}.stage-add{background:#05070a}.stage-sub{background:#fff;box-shadow:inset 0 0 0 1px var(--card-border, #e4efef)}.light{position:absolute;width:62%;height:62%;border-radius:50%;filter:blur(2px)}.stage-add .light{mix-blend-mode:screen}.stage-sub .light{mix-blend-mode:multiply}.light-a{top:6%;left:50%;transform:translate(-50%)}.light-b{bottom:8%;left:12%}.light-c{bottom:8%;right:12%}.result-bar{display:flex;align-items:center;gap:14px;margin:16px auto 0;max-width:520px;padding:12px 14px;border-radius:12px;background:var(--accent-soft, rgba(42, 157, 143, .08))}.result-swatch{width:56px;height:56px;flex-shrink:0;border-radius:12px;background:#000;box-shadow:inset 0 0 0 1px #00000026}.result-info{display:flex;flex-direction:column;gap:2px}.result-label{font-size:12px;color:var(--text-sub);font-weight:700}.result-hex{display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:none;color:var(--text);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.03em;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.result-hex .copy-icon{font-size:14px;opacity:.6}.result-hex.copied .copy-icon:after{content:" コピーしました";font-size:12px;color:var(--accent);font-family:system-ui,sans-serif}.result-rgb{font-size:13px;color:var(--text-sub);font-variant-numeric:tabular-nums}.slider-item{margin-bottom:16px}.slider-item label{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:700;color:var(--text);margin-bottom:6px}.ch-name{display:inline-flex;align-items:center;gap:6px}.ch-name:before{content:"";width:12px;height:12px;border-radius:3px;display:inline-block}.ch-r:before{background:#ff2d2d}.ch-g:before{background:#21d321}.ch-b:before{background:#2d6bff}.ch-c:before{background:#00bcd4}.ch-m:before{background:#e5288e}.ch-y:before{background:#f5c518}.slider-val{font-size:16px;color:var(--accent);font-variant-numeric:tabular-nums}.slider-item input[type=range]{width:100%;cursor:pointer}.ch-slider-r{accent-color:#ff2d2d}.ch-slider-g{accent-color:#21b021}.ch-slider-b{accent-color:#2d6bff}.ch-slider-c{accent-color:#00bcd4}.ch-slider-m{accent-color:#e5288e}.ch-slider-y{accent-color:#e0b000}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:2px solid var(--card-border, #e4efef);background:var(--card-bg);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;text-align:left;transition:all .15s ease}.preset-btn:hover{border-color:var(--accent);transform:translateY(-2px)}.preset-swatch{width:20px;height:20px;flex-shrink:0;border-radius:6px;box-shadow:inset 0 0 0 1px #00000026}.btn-mid{display:block;width:100%;padding:10px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;background:var(--card-bg);color:var(--accent);border:2px solid var(--accent);transition:all .15s ease}.btn-mid:hover{background:var(--accent-soft);color:var(--accent-hover)}.play-hint{font-size:13px;color:var(--text-sub);line-height:1.8;margin:10px 0 0}.quiz-section{margin-top:32px;padding:28px;background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.quiz-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:6px}.quiz-header h2{width:auto;margin:0;font-size:1.25rem;color:var(--text)}.quiz-badge{padding:4px 12px;border-radius:999px;background:#fdf3d8;border:1px solid #e9c46a;color:#8a6d1f;font-size:13px;font-weight:700}.quiz-lead{font-size:14px;color:var(--text-sub);line-height:1.8;margin:0 0 14px}.quiz-item{padding:16px 0;border-top:1px solid var(--card-border, #e4efef)}.quiz-question{margin:0 0 10px;font-weight:700;color:var(--text);font-size:15px;line-height:1.7}.quiz-choices{display:flex;flex-wrap:wrap;gap:8px}.quiz-choice{padding:9px 18px;border-radius:999px;border:2px solid var(--card-border, #e4efef);background:var(--card-bg);color:var(--text);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease}.quiz-choice:hover{border-color:var(--accent);color:var(--accent)}.quiz-item.answered .quiz-choice{pointer-events:none;opacity:.55}.quiz-item.answered .quiz-choice.correct{opacity:1;background:var(--accent);border-color:var(--accent);color:#fff}.quiz-item.answered .quiz-choice.wrong{opacity:1;background:#dc354514;border-color:var(--danger);color:var(--danger)}.quiz-explain{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:var(--accent-soft, rgba(42, 157, 143, .08));font-size:13px;line-height:1.8;color:var(--text)}.quiz-footer{margin-top:4px;border-top:1px solid var(--card-border, #e4efef);padding-top:16px}.quiz-score{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--text);min-height:1.5em}.quiz-score.perfect{color:var(--accent);font-size:17px}.quiz-actions{display:flex;flex-wrap:wrap;gap:10px}.quiz-actions .btn-mid{display:inline-block;width:auto;padding:10px 18px}.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}.explanation a{color:var(--accent);font-weight:700}.im-hud-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.im-status{cursor:pointer;font:inherit;font-size:11px;align-items:center}.im-status:hover,.im-status:focus-visible{border-color:#f0cf86d9}.im-status.copied .im-status-label:after{content:"（コピーしました）"}.im-swatch{width:14px;height:14px;flex:0 0 14px;border:1px solid rgba(239,226,198,.5);background:#fff}.im-status-label{white-space:nowrap}.im-target{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(240,207,134,.75);border-radius:2px;background:var(--im-glass);color:#efe2c6bf;font-size:11px;letter-spacing:.06em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.im-target[hidden]{display:none}.im-target b{color:var(--im-gold);font-size:13px}.im-target-meter{color:var(--im-cream);white-space:nowrap}.im-target.is-done{box-shadow:0 0 18px #f0be6473}.im-console{position:absolute;left:50%;bottom:16px;z-index:2;transform:translate(-50%);width:min(620px,calc(100% - 24px));flex-direction:row;display:flex;align-items:center;gap:16px;padding:10px 14px;border:1px solid var(--im-line);border-radius:2px;background:var(--im-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.im-knobs{flex:1;display:grid;gap:2px;min-width:0}.im-knob{display:grid;grid-template-columns:40px 1fr 34px;align-items:center;gap:8px;min-height:30px;color:var(--im-cream);font-size:12px;letter-spacing:.08em;cursor:pointer}.im-knob-name{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.im-knob-name i{width:8px;height:8px;border-radius:50%;background:var(--ch);box-shadow:0 0 8px var(--ch)}.im-knob-r{--ch: #ff3b3b}.im-knob-g{--ch: #36e04a}.im-knob-b{--ch: #3d7bff}.im-knob output{font-family:Georgia,Times New Roman,serif;font-size:14px;color:var(--im-gold);font-variant-numeric:tabular-nums;text-align:right}.im-knob input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:26px;margin:0;background:transparent;cursor:pointer}.im-knob input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,rgba(0,0,0,.6),var(--ch));border:1px solid rgba(217,195,154,.25)}.im-knob input[type=range]::-moz-range-track{height:3px;background:linear-gradient(90deg,rgba(0,0,0,.6),var(--ch));border:1px solid rgba(217,195,154,.25)}.im-knob input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-9px;border:1px solid rgba(240,207,134,.9);border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a3a22,#15100a);box-shadow:0 0 8px #f0be644d}.im-knob input[type=range]::-moz-range-thumb{width:16px;height:16px;border:1px solid rgba(240,207,134,.9);border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a3a22,#15100a)}.im-knob input[type=range]:focus-visible{outline:1px solid rgba(240,207,134,.9);outline-offset:2px}.im-knob.is-off{opacity:.45}.im-console-btns{display:flex;flex-direction:column;align-items:stretch;gap:8px}.im-console .im-main{justify-content:center;min-height:46px;padding:0 22px}.im-console .im-chip{justify-content:center;white-space:nowrap}.im-filter{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:multiply;opacity:0;transition:opacity .4s ease}.im-filter.on{opacity:1}.im-filter-off{position:absolute;left:50%;top:226px;z-index:3;transform:translate(-50%)}.im-stage:not(.is-play) .im-filter-off{display:none}.im-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}.paint-section{grid-column:1 / -1}.region-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:14px 0 0;padding:0;list-style:none}.region-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--card-border);border-radius:10px;font-size:12px;color:var(--text)}.region-list li b{display:block;font-size:13px}.region-list li small{display:block;color:var(--text-sub);font-variant-numeric:tabular-nums}.region-sw{flex:0 0 26px;height:26px;border-radius:6px;box-shadow:inset 0 0 0 1px #0003}.paint-row{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.paint-section .stage{max-width:220px}.paint-result{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;color:var(--text)}.paint-result b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.result-bar{margin:0;max-width:none}@media (max-width: 760px){.im-console{flex-direction:column;align-items:stretch;gap:6px;padding:8px 12px 10px}.im-console-btns{flex-direction:row}.im-console-btns>*{flex:1}.im-console .im-main{min-height:42px}.im-scroll{bottom:auto;top:108px;right:12px}.im-hint{top:146px;font-size:11.5px;letter-spacing:0;white-space:nowrap}.im-toast{top:178px;width:max-content;max-width:calc(100% - 32px)}.im-filter-off{top:258px}.paint-row{grid-template-columns:1fr}.paint-section .stage{max-width:200px}}@media (max-width: 420px){.im-status-label{display:none}.im-target .im-status-label{display:inline}}.im-status b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.02em}@media (max-width: 600px){.im-sub-ja{font-size:17px;line-height:1.7;letter-spacing:.06em}.im-card.im-sub{padding-left:18px;padding-right:18px}}.im-sub-ja>.im-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}.im-cite-dash{letter-spacing:0;margin-right:.3em}.im-card.show .im-sub-ja>.im-cite{animation:im-cite-in 1.4s ease-out 1.2s both}@keyframes im-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){.im-stage,.im-stage.is-theater{height:100dvh;min-height:0}.im-stage .im-skip-intro{top:auto;bottom:12px}}
