/* Match the weight of Avenir Heavy with an actual Japanese heavy face.
   Local faces only: no font files copied, no external requests. */
@font-face{font-family:'Scheduler Japanese';src:local('HiraginoSans-W3');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2E80-2FFF,U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'Scheduler Japanese';src:local('HiraginoSans-W5');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+2E80-2FFF,U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'Scheduler Japanese';src:local('HiraginoSans-W6');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+2E80-2FFF,U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
@font-face{font-family:'Scheduler Japanese';src:local('HiraginoSans-W8');font-style:normal;font-weight:650 800;font-display:swap;unicode-range:U+2E80-2FFF,U+3000-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F}
/* Shared Bauhaus interpretation; only warning treatments differ between A and B. */
:root{
 --paper:#f4f5f2;--surface:#fff;--ink:#191c19;--muted:#59615b;
 --soft:#e7ebe6;--accent:#216144;--accent-dark:#174730;--tint:#e3eee5;
 --red:#af2531;--red-tint:#f9e9e8;
 --font:'Avenir Next','Scheduler Japanese','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
 --radius:0;--warning-stripe:6px;--unit:8px;
}
.design-comparison{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;background:var(--surface);padding:12px 24px;color:var(--ink);font-size:13px}
.comparison-label{font-weight:650}.variant-buttons{display:flex;gap:4px;background:var(--soft);padding:4px}
.variant-buttons button{background:transparent;border-radius:0;font-size:13px;padding:8px 16px;min-height:40px}
.variant-buttons button[aria-pressed=true]{background:var(--ink);color:var(--surface)}
.comparison-description{color:var(--muted)}
button,.capture form,.event-body,.review,.focus,.count,.date-strip button,.navigation button,.week-day,.week-day p,.routine,.settings-row,.empty,.proposal,.alert-banner,.warning,.field input,.field select,.toast,dialog{border-radius:0}
.brand{letter-spacing:-.05em;font-weight:750}.brand .mark{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:3px;background:none;width:46px;height:46px;border-radius:0}
.mark i{display:block;background:var(--ink)}.mark i:nth-child(1){border-radius:50%;background:var(--accent)}.mark i:nth-child(2){border-radius:0 100% 0 0}.mark i:nth-child(3){border-radius:0 0 0 100%}.mark i:nth-child(4){background:var(--accent)}
.navigation button[aria-current=page]{background:var(--ink);color:var(--surface)}.navigation button[aria-current=page] .count{background:var(--surface);color:var(--ink)}
h1{font-weight:750;letter-spacing:-.06em}h2{font-weight:700}.weekday{font-weight:500;letter-spacing:0}
.focus{background:var(--tint);}
.focus-top{font-weight:700}.focus-top .dot{width:var(--unit);height:var(--unit);border-radius:0}
.focus h2{font-weight:700;letter-spacing:-.035em}.focus-time strong{font-weight:750;font-variant-numeric:tabular-nums}
.duration{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.duration::before{content:'';width:18px;height:18px;flex-shrink:0;background:var(--accent);border-radius:50% 0 0 50%}
.event.work .event-body{padding-left:26px}
.date-strip button strong,.week-day h3 strong{font-weight:750;font-variant-numeric:tabular-nums}
.date-strip button[aria-pressed=true]{background:var(--accent)}
.review button{font-weight:600}
.alert-banner{background:var(--red-tint);color:var(--red);padding-left:22px}
.alert-banner>strong{background:var(--red);color:var(--surface);padding:3px 8px;font-weight:700}
.alert-banner b{font-weight:750}.alert-banner>span:last-child{font-size:22px;font-weight:700;line-height:1}
.alert-banner:hover{background:#f1dbdb}
.warning-dialog .proposal{background:var(--red-tint);color:var(--red)}
.warning-dialog #modal-title{color:var(--red)}
/* B: constructive tension is confined to warnings. Text stays horizontal. */
html[data-design=hybrid] .alert-banner{position:relative;background:var(--red);color:var(--surface);isolation:isolate;overflow:hidden}
html[data-design=hybrid] .alert-banner::before{content:'';position:absolute;inset:0 auto 0 0;width:118px;background:var(--ink);clip-path:polygon(0 0,100% 0,75% 100%,0 100%);z-index:-1;pointer-events:none}
html[data-design=hybrid] .alert-banner>strong{background:transparent;color:var(--surface);padding-inline:0;margin-right:38px}
html[data-design=hybrid] .alert-banner>span:last-child{transform:none;font-size:22px}
html[data-design=hybrid] .alert-banner:hover{background:#94202a}
html[data-design=hybrid] .warning-dialog .modal-top{position:relative;isolation:isolate;background:var(--ink);color:var(--surface);padding:18px;margin:-28px -28px 22px;overflow:hidden}
html[data-design=hybrid] .warning-dialog .modal-top::before{content:'';position:absolute;inset:0 auto 0 0;width:22px;background:var(--red);clip-path:polygon(0 0,100% 0,25% 100%,0 100%);z-index:-1}
html[data-design=hybrid] .warning-dialog #modal-title{color:var(--surface);padding-left:12px}
html[data-design=hybrid] .warning-dialog .icon-button{color:var(--surface);background:var(--red)}
html[data-design=hybrid] .warning-dialog .proposal{position:relative;background:var(--red);color:var(--surface);padding-left:26px;overflow:hidden}
html[data-design=hybrid] .warning-dialog .proposal::before{content:'';position:absolute;inset:0 auto 0 0;width:10px;background:var(--ink);clip-path:polygon(0 0,100% 0,25% 100%,0 100%)}
@media(max-width:900px){.brand .mark{display:none}}
@media(max-width:600px){
 .design-comparison{padding:12px 20px;gap:8px}.comparison-label{width:100%}.variant-buttons{width:100%}.variant-buttons button{flex:1;padding-inline:7px}.comparison-description{font-size:13px}
 .navigation button[aria-current=page]{background:var(--ink);color:var(--surface)}
 .alert-banner{padding-left:16px;gap:10px}.alert-banner>strong{padding:3px 5px}
 html[data-design=hybrid] .alert-banner::before{width:74px}
 html[data-design=hybrid] .alert-banner>strong{margin-right:10px}
 .alert-banner>span:nth-child(2){min-width:0}
 html[data-design=hybrid] .alert-banner>span:last-child{font-size:22px}
}

/* Flat functional strokes; no resting shadows or gradients. */
.focus,.review,.event-body,.week-day[aria-label],.warning-dialog .proposal{position:relative}
.focus::before,.review::before,.week-day[aria-label]::before{content:'';position:absolute;inset:0 0 auto;height:var(--unit);background:var(--accent);pointer-events:none}
.review::before{background:var(--ink)}
.event-body::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--soft);pointer-events:none}
.event.starter .event-body::before{width:var(--unit);background:var(--accent)}
.event.work .event-body::before{width:var(--unit);background:var(--ink)}
.event.work .event-body::after{content:'';position:absolute;inset:0 auto 0 11px;width:var(--unit);background:var(--soft);pointer-events:none}
html[data-design=bauhaus] .alert-banner{position:relative}
html[data-design=bauhaus] .alert-banner::before,html[data-design=bauhaus] .warning-dialog .proposal::before{content:'';position:absolute;inset:0 auto 0 0;width:var(--warning-stripe);background:var(--red);pointer-events:none}

@media(max-width:600px){
 .focus-time{gap:8px}.duration{gap:5px}.duration::before{width:12px;height:12px}
 .alert-banner>span:nth-child(2){text-wrap:balance}
}
@media(max-width:600px){.focus-bottom>.primary{padding-inline:10px}}

/* Direction is consistent across actions, including warnings. */
button span[aria-hidden="true"]{font-style:normal}
