/* Time series palette and rounded digits follow stopwatch; scoped to new pages. */
:root{color-scheme:dark;--bg:#121212;--surface:#1e1e1e;--chrome:#080808;--text:#f7f7f7;--muted:#b3b3b3;--line:#3e3e3e;--accent:#20c3ca;--start:#2ecc71;--on-start:#092719;--danger:#ff9084;--hover:#303030;--time-font:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif}
[data-theme=light]{color-scheme:light;--bg:#eef1f4;--surface:#fff;--chrome:#f8fafc;--text:#182024;--muted:#4b5962;--line:#bcc8ce;--accent:#087d83;--start:#23854c;--on-start:#fff;--danger:#ae3026;--hover:#e2e9ed}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:var(--surface);color:var(--text);cursor:pointer;line-height:1.4}button:hover{background:var(--hover)}button:disabled{opacity:.55;cursor:default}button.start{background:var(--start);border-color:var(--start);color:var(--on-start);font-weight:700}button.pause{background:#a7352b;border-color:#a7352b;color:#fff}button.quiet{background:transparent}button.danger{color:var(--danger)}input,select{min-width:0;max-width:100%;font-size:1rem;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:8px 10px}input[type=checkbox]{min-height:24px;width:24px;height:24px;accent-color:var(--accent);flex-shrink:0}input[type=range]{padding:0;width:100%;accent-color:var(--accent)}a{color:var(--accent);text-underline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}h1,h2,p{margin:0}h2{font-size:1.15rem}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:.85rem;color:var(--muted);margin-bottom:12px}label{display:flex;flex-direction:column;gap:8px;font-size:.9rem}button, a, p, span, dd{overflow-wrap:anywhere}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.page-heading-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;min-height:48px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:var(--chrome);border-bottom:1px solid var(--line)}.page-heading-bar h1{font-size:1rem;line-height:1.5}.heading-actions{display:flex;flex-shrink:0}.heading-actions button{width:44px;padding:6px;border:0;background:transparent;font-size:1.35rem}.scroll-area{overflow:auto;flex:1;min-height:0;scrollbar-gutter:stable}.stage{position:relative;width:100%;min-height:calc(100vh - 100px);min-height:calc(100dvh - 100px);padding:48px max(20px,env(safe-area-inset-right)) 36px max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.stage-list{min-height:0;max-width:1080px;margin:auto;align-items:stretch;justify-content:flex-start;padding-top:32px}.time-display{font-family:var(--time-font);font-size:clamp(2.7rem,11.5vw,8.5rem);line-height:1.3;font-weight:700;letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums}.timer-status{font-size:.9rem;color:var(--muted);min-height:1.5em}.countdown-card{text-align:center;min-width:0}.single-card{width:min(100%,900px);display:flex;flex-direction:column;align-items:center;gap:22px}.duration-fields{display:flex;align-items:end;justify-content:center;gap:8px;max-width:100%}.duration-fields legend{text-align:center;float:none;width:100%}.duration-fields label{width:76px;max-width:26vw}.duration-fields input{text-align:center;width:100%;font-variant-numeric:tabular-nums}.duration-fields>span{align-self:end;line-height:44px}.presets{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.presets button{min-height:40px;font-size:.85rem;padding:8px 13px}.controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.single-card>.controls{width:min(100%,460px)}.single-card>.controls button{flex:1;min-height:52px;font-size:1.05rem}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cards .countdown-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);display:flex;flex-direction:column;gap:18px;align-items:center}.cards .time-display{font-size:clamp(2.4rem,5vw,4.5rem)}.card-heading{display:flex;align-items:end;gap:12px;width:100%;text-align:left}.name-label{flex:1;min-width:0;color:var(--muted);font-size:.75rem}.name-label input{width:100%;border-color:transparent;background:transparent;color:var(--text);padding-left:0;font-weight:600}.name-label input:focus{border-color:var(--accent);padding-left:8px}.cards .controls{width:100%}.cards .controls button{flex:1}.countdown-card[data-state=finished]{border-color:var(--accent)}.countdown-card[data-state=finished] .timer-status{color:var(--accent);font-weight:700}.add-button{align-self:center;min-width:220px;border-style:dashed}.add-button span{font-size:.8rem;color:var(--muted);margin-left:10px}.bulk-controls{justify-content:flex-start}.completion{width:min(100%,860px);border:1px solid var(--accent);border-radius:12px;padding:16px;background:var(--surface);font-size:.9rem;line-height:1.8}.completion .controls{margin-top:12px}.quiet-note,.note{font-size:.8rem;line-height:1.8;color:var(--muted)}.quiet-note{text-align:center;padding:12px 20px}.guide,.site-footer{width:min(860px,100%);margin:0 auto;padding:24px;line-height:1.85}.guide{border-top:1px solid var(--line);font-size:.9rem}.guide summary{cursor:pointer;color:var(--muted);min-height:44px}.guide h2{margin:24px 0 12px}.guide ol{padding-left:24px}.guide dt{font-weight:700;margin-top:20px}.guide dd{margin:8px 0 0;color:var(--muted)}.site-footer{text-align:center;color:var(--muted);font-size:.8rem;padding-bottom:max(32px,env(safe-area-inset-bottom))}.site-footer h2{font-size:.85rem;margin-bottom:14px}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;margin-bottom:20px}.site-footer a{display:inline-flex;min-height:44px;align-items:center;color:var(--muted)}.settings-sheet{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:18px 18px 0 0;width:min(100%,480px);max-width:100%;margin:auto 0 0 auto;padding:0;max-height:90vh;max-height:90dvh;overflow:auto}.settings-sheet::backdrop{background:#0009}.sheet-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);padding:16px 20px;border-bottom:1px solid var(--line)}.settings-body{display:flex;flex-direction:column;gap:24px;padding:24px 20px max(28px,env(safe-area-inset-bottom))}.settings-body fieldset{display:flex;flex-direction:column;gap:18px}.settings-body legend{font-size:1rem;font-weight:700;color:var(--accent)}.check{flex-direction:row;align-items:center;min-height:44px;gap:12px}.warning{padding:14px 20px;background:var(--surface);color:var(--danger);font-size:.85rem;line-height:1.8}.warning.compact{border-left:3px solid var(--accent);color:var(--muted)}.pomo-main{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;text-align:center}.phase-label{color:var(--accent);font-size:1.35rem;font-weight:700}.pomo-dots{color:var(--accent);letter-spacing:.3em;font-size:1.1rem}.pomo-main .controls button{min-height:52px}.pomo-main #pomo-progress{color:var(--muted);font-size:.85rem}.alarm-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:.8rem;color:var(--muted)}.clock-display{font-family:var(--time-font);font-size:2.4rem;font-variant-numeric:tabular-nums}.alarm-list{display:flex;flex-direction:column;gap:16px}.alarm-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}.alarm-card-main{display:flex;align-items:center;gap:16px;justify-content:space-between}.alarm-edit{border:0;text-align:left;padding:0;background:transparent;display:flex;flex-direction:column;gap:6px;min-width:0}.alarm-time{font:700 2.8rem var(--time-font);white-space:nowrap}.alarm-name{font-weight:600;font-size:1rem}.alarm-switch{flex-direction:row;align-items:center;gap:8px;flex-shrink:0}.alarm-card .controls{justify-content:flex-end}.next-alarm{font-size:.85rem;color:var(--accent)}.alarm-card .timer-status:empty{display:none}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays label{display:flex;align-items:center;justify-content:center;min-height:64px;cursor:pointer;gap:6px}.weekdays input{margin:0}.empty{text-align:center;color:var(--muted);padding:48px 0;line-height:2}.fs-exit{position:absolute;right:16px;top:16px}.stage:fullscreen,.stage:-webkit-full-screen,.stage.is-fullscreen{background:var(--bg);width:100%;height:100%;max-width:none;overflow:auto;justify-content:center;padding:76px 16px 24px}.stage.is-fullscreen .duration-fields,.stage.is-fullscreen .presets{display:none}.stage.is-fullscreen .time-display{font-size:clamp(2.7rem,13vw,12rem)}.stage.is-fullscreen .completion{max-height:25vh;overflow:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.page-heading-bar{flex-wrap:wrap;gap:0;padding:4px 10px}.page-heading-bar h1{flex:1;min-width:120px;font-size:.9rem}.heading-actions{margin-left:auto}.stage{padding:30px 16px;min-height:calc(100dvh - 130px)}.stage-list{min-height:0;padding:24px 12px}.cards{grid-template-columns:1fr}.cards .countdown-card{padding:20px 16px}.cards .time-display{font-size:clamp(2.5rem,10vw,4.5rem)}.bulk-controls{gap:6px}.bulk-controls button{padding:10px 8px;flex:1;font-size:.8rem}.alarm-top{flex-wrap:wrap}.alarm-top>button{width:100%}.alarm-card{padding:16px}.settings-sheet{margin:auto auto 0;border-radius:18px 18px 0 0}.pomo-main{gap:22px}.single-card{gap:20px}.guide,.site-footer{padding:24px 18px}.pomo-main .controls{gap:8px}.pomo-main .controls button{font-size:.9rem;padding:10px 12px}}
@media(max-width:380px){.page-heading-bar{justify-content:center}.page-heading-bar h1{flex-basis:100%;text-align:center;padding-top:4px}.heading-actions{margin:auto}.stage{min-height:calc(100dvh - 160px)}.stage-list{min-height:0}.single-card .presets{max-width:280px}.presets button{padding:8px 10px}.time-display{font-size:2.8rem}.alarm-time{font-size:2.4rem}.alarm-switch{gap:4px}.pomo-main .controls button:last-child{flex-basis:100%}.settings-body{padding:20px 16px}.weekdays{gap:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.bulk-controls button{white-space:nowrap;flex:1 1 auto}.completion{max-height:260px;overflow:auto}


/* PC専用：Pixioのテキスト＋300×250固定広告。SPではDOMを展開しない。 */
.tt-pc-a8-ad[hidden] {
    display: none !important;
}

@media (min-width: 768px) {
    .tt-pc-a8-ad {
        position: fixed;
        right: clamp(24px, 2.5vw, 48px);
        bottom: 24px;
        z-index: 90;
        width: 300px;
        max-width: 300px;
        margin: 0;
    }

    .tt-pc-a8-ad__panel,
    .tt-pc-a8-ad__text-row,
    .tt-pc-a8-ad__creative {
        width: 300px;
        max-width: 300px;
    }

    .tt-pc-a8-ad__panel,
    .tt-pc-a8-ad__text,
    .tt-pc-a8-ad__creative {
        position: relative;
    }

    .tt-pc-a8-ad__text-row {
        min-height: 36px;
    }

    .tt-pc-a8-ad__text {
        min-width: 0;
        padding: 8px 10px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: var(--surface);
        box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
    }

    .tt-pc-a8-ad__text > a {
        display: block;
        color: var(--accent);
        font-size: .78rem;
        font-weight: 600;
        line-height: 1.45;
        text-decoration: none;
    }

    .tt-pc-a8-ad__text > a:hover {
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .tt-pc-a8-ad__text > img,
    .tt-pc-a8-ad__creative > img {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: 0;
        box-shadow: none;
    }

    .tt-pc-a8-ad__creative {
        height: 250px;
        margin-top: 12px;
        overflow: hidden;
    }

    .tt-pc-a8-ad__creative > a,
    .tt-pc-a8-ad__creative > a > img {
        display: block;
        width: 300px;
        height: 250px;
        max-width: none;
    }

    .tt-pc-a8-ad__close {
        position: absolute;
        top: -12px;
        right: -12px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        min-height: 32px;
        height: 32px;
        padding: 0;
        border: 1px solid var(--line);
        border-radius: 50%;
        background: var(--surface);
        color: var(--text);
        box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
        font: inherit;
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
    }

    .tt-pc-a8-ad__close:hover {
        background: var(--hover);
    }
}
