@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-gothic);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--sumi:#17130f;--sumi-2:#241d16;--sumi-3:#3a2f24;--washi:#f5efe1;--washi-2:#ebe1cd;--ink:#2b241c;--ink-muted:#6d6053;--shu:#a3312b;--shu-dark:#822521;--kin:#c2a25e;--take:#6f7f4a;--font-mincho:"Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Noto Serif JP", "MS PMincho", serif;--font-gothic:"Hiragino Sans", "Yu Gothic", YuGothic, "Noto Sans JP", "Meiryo", system-ui, sans-serif;--gate-hold:1.6s;--gate-slide:1.7s;--section-pad-y:clamp(64px, 14vw, 108px);--section-gap:clamp(48px, 11vw, 80px)}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:var(--washi);color:var(--ink);font-family:var(--font-gothic);-webkit-font-smoothing:antialiased;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;line-height:1.9}body.gate-closed{overflow:hidden}h1,h2,h3,.mincho{font-family:var(--font-mincho);font-weight:500}img{max-width:100%;display:block}.washi{background-color:var(--washi);background-image:radial-gradient(circle at 18% 22%, #a08c6917 0 2px, transparent 3px), radial-gradient(circle at 72% 58%, #a08c6912 0 2px, transparent 3px), radial-gradient(circle at 45% 82%, #a08c690f 0 1.5px, transparent 3px), linear-gradient(180deg, #f7f2e6 0%, var(--washi) 45%, #efe7d6 100%);background-size:180px 180px,260px 260px,140px 140px,100% 100%}.sumi-bg{background-color:var(--sumi);background-image:radial-gradient(circle at 20% 20%, #ffffff09 0 2px, transparent 3px), radial-gradient(circle at 78% 64%, #ffffff06 0 2px, transparent 3px), linear-gradient(180deg, #1b1611 0%, var(--sumi) 50%, #100d0a 100%);color:var(--washi);background-size:200px 200px,280px 280px,100% 100%}.bamboo{background-color:#6b4a26;background-image:repeating-linear-gradient(#0000 0 116px,#00000029 118px 121px,#ffffff12 122px 125px,#0000 128px 240px),repeating-linear-gradient(90deg,#1d1207 0 2px,#6a4826 4px,#a4783f 9px,#cca267 12px,#a4783f 15px,#5e4021 19px,#1d1207 21px)}.bamboo-shade:after{content:"";pointer-events:none;background:linear-gradient(#00000080 0%,#0000000d 30%,#0000001a 70%,#0000008c 100%);position:absolute;inset:0}.bamboo-band{height:14px;position:relative;overflow:hidden}.gate{z-index:60;animation:gate-retire 10ms step-end calc(var(--gate-hold) + var(--gate-slide) + .15s) forwards;position:fixed;inset:0}@keyframes gate-retire{to{visibility:hidden;pointer-events:none}}.gate[data-state=opening]{animation:gate-retire 10ms step-end calc(var(--gate-slide) + .15s) forwards}.gate[data-state=opened]{display:none}.gate-door{will-change:transform;width:100%;height:100%;animation:gate-open calc(var(--gate-hold) + var(--gate-slide)) cubic-bezier(.5, .02, .16, 1) forwards;border-left:3px solid #2a1c0e;border-right:3px solid #2a1c0e;position:absolute;top:0;left:0;overflow:hidden;box-shadow:-8px 0 28px #0000008c}@keyframes gate-open{0%,48%{transform:translate(0)}to{transform:translate(101%)}}.gate[data-state=opening] .gate-door{animation:gate-slide var(--gate-slide) cubic-bezier(.5, .02, .16, 1) forwards}@keyframes gate-slide{to{transform:translate(101%)}}.gate-handle{z-index:4;background:linear-gradient(90deg,#0d0906,#2c2118 45%,#0d0906);border-radius:7px;width:14px;height:84px;margin-top:-42px;position:absolute;top:50%;left:18px;box-shadow:0 2px 6px #0009}.gate-plate{text-align:center;color:var(--washi);z-index:3;animation:gate-plate-out calc(var(--gate-hold) + var(--gate-slide)) linear forwards;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;display:flex;position:absolute;inset:0}@keyframes gate-plate-out{0%,48%{opacity:1}76%,to{opacity:0}}.gate[data-state=opening] .gate-plate{animation:gate-plate-fade calc(var(--gate-slide) * .5) linear forwards}@keyframes gate-plate-fade{to{opacity:0}}.gate-hint{letter-spacing:.32em;color:#f5efe1bf;font-size:.78rem;animation:2.4s ease-in-out infinite gate-hint-pulse}@keyframes gate-hint-pulse{0%,to{opacity:.45}50%{opacity:1}}.section-title{font-family:var(--font-mincho);letter-spacing:.26em;text-indent:.26em;margin:0 0 clamp(2.1rem,6.6vw,3rem);padding-bottom:.95rem;font-size:clamp(1.22rem,4.6vw,1.5rem);position:relative}.section-title:after{content:"";opacity:.3;background:currentColor;width:26px;height:1px;position:absolute;bottom:0;left:0}.section-title-center{text-align:center}.section-title-center:after{left:50%;transform:translate(-50%)}.btn{width:100%;min-height:66px;font-family:var(--font-mincho);letter-spacing:.14em;border-radius:3px;justify-content:center;align-items:center;gap:.6rem;padding:.9rem 1.2rem;font-size:clamp(1.02rem,4.3vw,1.12rem);text-decoration:none;transition:background-color .2s,color .2s,opacity .2s;display:flex}.btn-primary{background:var(--shu);color:#fdf8ee;border:1px solid var(--shu)}.btn-primary:active{background:var(--shu-dark)}.btn-outline{color:var(--ink);background:0 0;border:1px solid #2b241c59}.btn-outline:active{background:#2b241c0f}.btn-disabled{color:var(--ink-muted);cursor:default;background:0 0;border:1px dashed #2b241c4d}.btn-sub{font-family:var(--font-gothic);letter-spacing:.06em;opacity:.85;font-size:.74rem;line-height:1.5;display:block}.stickybar{z-index:40;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:1fr 1fr;transition:transform .32s;display:grid;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%);box-shadow:0 -6px 20px #00000038}.stickybar[data-visible=true]{transform:translateY(0)}.stickybar a{min-height:62px;font-family:var(--font-mincho);letter-spacing:.12em;color:#fdf8ee;justify-content:center;align-items:center;gap:.5rem;font-size:clamp(.98rem,4.2vw,1.08rem);text-decoration:none;display:flex}.todo-note{color:var(--shu-dark);font-family:var(--font-gothic);letter-spacing:.02em;background:#a3312b0d;border:1px dashed #a3312b8c;border-radius:3px;padding:.7rem .9rem;font-size:.75rem;line-height:1.7}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}.gate,.gate[data-state=opening]{animation-delay:.3s!important}}.cal{background:#fffdf799;border:1px solid #2b241c24;border-radius:3px;padding:clamp(12px,3.6vw,20px) clamp(8px,2.6vw,18px) clamp(14px,3.6vw,20px)}.cal-sample{color:var(--shu-dark);letter-spacing:.04em;text-align:center;background:#a3312b12;border:1px solid #a3312b80;border-radius:3px;margin:0 0 .9rem;padding:.55rem .7rem;font-size:.76rem;line-height:1.6}.cal-sample span{opacity:.85;display:block}.cal-updated{text-align:center;letter-spacing:.08em;color:var(--ink-muted);margin:0 0 .8rem;font-size:.72rem}.cal-switch{border-bottom:1px solid #2b241c29;gap:2px;margin:0 0 .2rem;display:flex}.cal-switch-btn{min-height:46px;color:var(--ink-muted);font-family:var(--font-mincho);letter-spacing:.3em;text-indent:.3em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1 1 0;font-size:1rem}.cal-switch-btn[data-selected=true]{color:var(--ink);border-bottom-color:var(--shu);background:#2b241c0d;border-radius:2px 2px 0 0}.cal-pager{justify-content:space-between;align-items:center;gap:6px;margin:0 0 .25rem;display:flex}.cal-pager-btn{min-height:42px;color:var(--ink-muted);letter-spacing:.04em;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 .4rem;font-family:inherit;font-size:.72rem}.cal-pager-btn:disabled{color:#2b241c3d;cursor:default}.cal-pager-range{letter-spacing:.04em;white-space:nowrap;font-size:.82rem}.cal-week{border-top:1px solid #2b241c29;border-bottom:1px solid #2b241c29;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin:0 0 .5rem;display:grid}.cal-cell{min-width:0;min-height:62px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:7px 1px 6px;font-family:inherit;display:flex}.cal-cell[data-selected=true]{border-bottom-color:var(--shu);background:#2b241c0d;border-radius:2px 2px 0 0}.cal-cell-md{font-family:var(--font-mincho);white-space:nowrap;color:var(--ink-muted);font-size:.72rem;line-height:1.1}.cal-cell[data-selected=true] .cal-cell-md{color:var(--ink)}.cal-cell-wd{color:var(--ink-muted);font-size:.64rem;line-height:1.1}.cal-cell-wd[data-sun=true]{color:var(--shu)}.cal-cell-wd[data-sat=true]{color:#3b5c86}.cal-cell-today{letter-spacing:.04em;min-height:.9em;color:var(--shu);font-size:.5rem;line-height:1}.cal-cell-mark{margin-top:1px;font-size:1.05rem;line-height:1.2}.cal-cell-mark[data-mark=full],.cal-cell-mark[data-mark=closed],.cal-cell-mark[data-mark=unset]{color:#2b241c6b}.cal-legend{text-align:center;letter-spacing:.02em;color:var(--ink-muted);margin:0 0 1.2rem;font-size:.62rem;line-height:1.9}.cal-selected{text-align:center;letter-spacing:.12em;margin:0 0 1.3rem;font-size:clamp(1rem,4.2vw,1.12rem)}.cal-group{margin:0 0 1.5rem}.cal-group:last-of-type{margin-bottom:0}.cal-group-title{font-family:var(--font-mincho);letter-spacing:.3em;text-indent:.3em;color:var(--ink-muted);margin:0 0 .4rem;font-size:.88rem;font-weight:500}.cal-slots{margin:0;padding:0;list-style:none}.cal-slot-row{border-top:1px solid #2b241c1f;justify-content:center;align-items:center;gap:clamp(1rem,5.5vw,2rem);min-height:52px;padding:.5rem .2rem;display:flex}.cal-slot-row:last-child{border-bottom:1px solid #2b241c1f}.cal-slot-time{text-align:right;min-width:6.8em;font-family:var(--font-mincho);letter-spacing:.04em;white-space:nowrap;font-size:clamp(1rem,4.3vw,1.08rem)}.cal-slot-state{min-width:6.4em;color:var(--ink);align-items:baseline;gap:.45rem;display:flex}.cal-slot-state[data-mark=full],.cal-slot-state[data-mark=closed],.cal-slot-state[data-mark=unset]{color:#2b241c6b}.cal-slot-mark{font-size:1.18rem;line-height:1}.cal-slot-text{letter-spacing:.04em;white-space:nowrap;font-size:.86rem}.cal-note{text-align:center;letter-spacing:.02em;color:var(--ink-muted);margin:.9rem 0 0;font-size:.7rem;line-height:1.7}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
