:root{--ink:#15120d;--ink-80:#2a251c;--ink-60:#574e3f;--ink-40:#8b816e;--paper:#f2ecdc;--paper-light:#f7f2e3;--paper-deep:#e6ddc3;--rule:#b8ae92;--rule-soft:#d8cfb4;--vermillion:#c23b1e;--vermillion-soft:#e25a3c;--indigo:#1f3a5f;--moegi:#586d25;--f-display:"Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--f-serif:"Fraunces", "Iowan Old Style", "Palatino", serif;--f-sans:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, monospace;--fs-masthead:clamp(4.5rem, 13vw, 12rem);--fs-hero:clamp(2.75rem, 7vw, 6rem);--fs-display:clamp(1.875rem, 4vw, 3.25rem);--fs-h1:clamp(1.5rem, 2.5vw, 2.125rem);--fs-h2:1.125rem;--fs-body:1rem;--fs-sm:.8125rem;--fs-xs:.6875rem;--ease:cubic-bezier(.2, .9, .25, 1);--pad-x:clamp(1.25rem, 4vw, 3rem);--section-y:clamp(3.5rem, 9vh, 7rem)}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--f-sans);font-size:var(--fs-body);font-feature-settings:"palt", "kern";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:1;mix-blend-mode:multiply;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}p{line-height:1.65}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.eyebrow{font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60)}.label{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60)}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.display{font-family:var(--f-display);letter-spacing:-.01em;font-weight:700}.serif-it{font-family:var(--f-serif);font-style:italic;font-weight:300}.ink-accent{color:var(--vermillion)}.shell{z-index:2;flex-direction:column;min-height:100vh;display:flex;position:relative}.masthead{border-bottom:1px solid var(--ink);padding:1.25rem var(--pad-x) 1rem;background:var(--paper);z-index:10;position:sticky;top:0}.masthead-top{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);border-bottom:.5px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;padding-bottom:.6rem;display:flex}.masthead-clock{text-transform:none;letter-spacing:.04em;font-style:normal;font-family:var(--f-sans);font-size:var(--fs-xs);flex-wrap:wrap;align-items:baseline;gap:.55rem;display:inline-flex}.masthead-clock .mono{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);font-size:.75rem}.masthead-clock .clock-sep{color:var(--rule)}.masthead-clock .clock-zone{font-family:var(--f-mono);letter-spacing:.16em;color:var(--ink-40);text-transform:uppercase;font-size:.625rem}.masthead-clock .clock-you{color:var(--ink-40)}.masthead-title{justify-content:space-between;align-items:center;gap:2rem;display:flex}.wordmark{font-family:var(--f-display);letter-spacing:-.015em;color:var(--ink);font-size:clamp(1.625rem,3vw,2.25rem);font-weight:800;line-height:1}.wordmark-dot{color:var(--vermillion)}.masthead nav{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;gap:clamp(1rem,3vw,2.25rem);display:flex}.masthead nav a{color:var(--ink-60);transition:color .3s var(--ease);padding-bottom:3px;position:relative}.masthead nav a:after{content:"";background:var(--vermillion);height:1px;transition:right .45s var(--ease);position:absolute;bottom:0;left:0;right:100%}.masthead nav a:hover,.masthead nav a.active{color:var(--ink)}.masthead nav a:hover:after,.masthead nav a.active:after{right:0}.masthead nav .nav-signout{font:inherit;font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);cursor:pointer;transition:color .3s var(--ease);background:0 0;border:none;padding:0 0 3px;position:relative}.masthead nav .nav-signout:after{content:"";background:var(--vermillion);height:1px;transition:right .45s var(--ease);position:absolute;bottom:0;left:0;right:100%}.masthead nav .nav-signout:hover{color:var(--ink)}.masthead nav .nav-signout:hover:after{right:0}main{flex:1}.container{max-width:1280px;padding:0 var(--pad-x);margin:0 auto}.colophon{border-top:1px solid var(--ink);margin-top:var(--section-y);padding:2rem var(--pad-x);font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.hero{padding:clamp(3rem,10vh,7rem) 0 clamp(2.5rem,6vh,5rem)}.hero-eyebrow{flex-wrap:wrap;align-items:baseline;gap:1.5rem;margin-bottom:2rem;display:flex}.hero-eyebrow .no{font-family:var(--f-serif);color:var(--vermillion);font-size:1rem;font-style:italic}.hero-jp{font-family:var(--f-display);font-size:var(--fs-masthead);letter-spacing:-.025em;color:var(--ink);margin:0;font-weight:800;line-height:.88}.hero-en{font-family:var(--f-serif);letter-spacing:-.005em;color:var(--ink-60);max-width:42ch;margin:1.25rem 0 0;font-size:clamp(1.125rem,1.9vw,1.625rem);font-style:italic;font-weight:300;line-height:1.4}.hero-divider{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);align-items:center;gap:1.25rem;margin-top:2.5rem;display:flex}.hero-divider:before,.hero-divider:after{content:"";background:var(--rule);flex:1;height:.5px}.hero-divider span+span{color:var(--vermillion)}.section{padding:var(--section-y) 0;border-top:1px solid var(--ink)}.section-header{grid-template-columns:minmax(3rem,6rem) 1fr;align-items:baseline;gap:1.5rem;margin-bottom:3rem;display:grid}.section-no{font-family:var(--f-serif);color:var(--vermillion);font-size:clamp(1.75rem,3vw,2.5rem);font-style:italic;font-weight:300;line-height:1}.section-title{font-family:var(--f-display);font-size:var(--fs-display);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1}.section-lede{font-family:var(--f-serif);color:var(--ink-60);max-width:48ch;margin:.75rem 0 0;font-size:1rem;font-style:italic}.event-grid{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=880px){.event-grid{grid-template-columns:1fr}}.event-card{border-right:.5px solid var(--rule);transition:background .35s var(--ease);color:inherit;flex-direction:column;gap:.75rem;padding:1.75rem 1.5rem 2.25rem;display:flex}.event-card:last-child{border-right:none}@media (width<=880px){.event-card{border-right:none;border-bottom:.5px solid var(--rule)}.event-card:last-child{border-bottom:none}}.event-card:hover{background:var(--paper-light)}.event-card .no{font-family:var(--f-serif);color:var(--vermillion);font-size:.875rem;font-style:italic}.event-card .status{width:fit-content;font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--paper-light);padding:.25rem .55rem;display:inline-block}.event-card .status.status-open{background:var(--moegi)}.event-card .status.status-lottery{background:var(--indigo)}.event-card .status.status-waitlist{background:var(--vermillion)}.event-card h3{font-family:var(--f-display);letter-spacing:-.005em;color:var(--ink);margin:.25rem 0 1rem;font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:700;line-height:1.25}.event-card .meta{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--ink-80);grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0;display:grid}.event-card .meta dt{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40);font-weight:400}.event-card .meta dd{margin:0}.method-list{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}@media (width<=880px){.method-list{grid-template-columns:1fr}}.method-list li{border-right:.5px solid var(--rule);flex-direction:column;gap:.75rem;padding:2rem 1.5rem 2.5rem;display:flex}.method-list li:last-child{border-right:none}.method-list .step-no{font-family:var(--f-serif);color:var(--vermillion);font-size:1.25rem;font-style:italic}.method-list h3{font-family:var(--f-display);letter-spacing:-.005em;margin:0;font-size:1.375rem;font-weight:700}.method-list p{color:var(--ink-60);margin:0;font-size:.9375rem}.cta{text-align:center;padding:calc(var(--section-y) * 1.2) 0}.cta-eyebrow{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--vermillion);margin:0 0 1.5rem}.cta-title{font-family:var(--f-display);letter-spacing:-.02em;margin:0 0 2.5rem;font-size:clamp(2.25rem,5vw,4rem);font-weight:800;line-height:1}.btn-primary{background:var(--ink);color:var(--paper-light);font-family:var(--f-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;transition:background .3s var(--ease), transform .3s var(--ease);align-items:center;gap:.75rem;padding:1rem 2rem;display:inline-flex}.btn-primary:hover{background:var(--vermillion);transform:translateY(-2px)}.btn-ghost{border-bottom:1px solid var(--ink);font-family:var(--f-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;transition:color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:.5rem;padding:.75rem 0;display:inline-flex}.btn-ghost:hover{color:var(--vermillion);border-color:var(--vermillion)}.filter-bar{border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule);flex-wrap:wrap;gap:.5rem;margin-bottom:0;padding:1.5rem 0;display:flex}.filter-chip{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);border:.5px solid var(--rule);transition:all .25s var(--ease);background:0 0;padding:.5rem .95rem}.filter-chip:hover{color:var(--ink);border-color:var(--ink)}.filter-chip.active{color:var(--paper-light);background:var(--ink);border-color:var(--ink)}.event-list{margin:0;padding:0;list-style:none}.event-row{border-bottom:.5px solid var(--rule)}.event-row:last-child{border-bottom:1px solid var(--ink)}.event-row a{transition:background .3s var(--ease), padding-left .3s var(--ease);grid-template-columns:4rem minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:clamp(1rem,3vw,2.5rem);padding:2rem 0;display:grid}.event-row a:hover{background:var(--paper-light);padding-left:1rem}@media (width<=720px){.event-row a{grid-template-columns:2.5rem 1fr;gap:1rem}.row-meta-col{grid-column:2;padding-top:.5rem}}.row-idx{font-family:var(--f-serif);color:var(--vermillion);padding-top:.15rem;font-size:1.75rem;font-style:italic;font-weight:300;line-height:1}.row-body{min-width:0}.row-tag{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-40);margin-bottom:.6rem}.row-title{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 .75rem;font-size:clamp(1.375rem,2.5vw,2rem);font-weight:700;line-height:1.18}.row-meta{font-family:var(--f-serif);color:var(--ink-60);margin:0;font-size:.9375rem;font-style:italic}.row-meta-col{text-align:right;flex-direction:column;gap:.5rem;display:flex}@media (width<=720px){.row-meta-col{text-align:left}}.row-date{font-family:var(--f-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:.02em}.row-time{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--ink-60);letter-spacing:.08em}.row-slots{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--ink-60);flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.row-slots>div{justify-content:flex-end;gap:.75rem;display:flex}@media (width<=720px){.row-slots>div{justify-content:flex-start}}.event-detail-head{border-bottom:1px solid var(--ink);padding:clamp(2.5rem,7vh,5rem) 0 clamp(2rem,5vh,3.5rem)}.event-detail-head .tag{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--vermillion);margin-bottom:1.25rem}.event-detail-head h1{font-family:var(--f-display);letter-spacing:-.025em;max-width:22ch;margin:0 0 1.25rem;font-size:clamp(2.5rem,6vw,5rem);font-weight:800;line-height:.95}.event-detail-head .lede{font-family:var(--f-serif);color:var(--ink-60);max-width:50ch;margin:0;font-size:clamp(1.125rem,1.7vw,1.375rem);font-style:italic}.event-detail-body{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);padding:clamp(2.5rem,6vh,4.5rem) 0;display:grid}@media (width<=880px){.event-detail-body{grid-template-columns:1fr}}.event-body h2{font-family:var(--f-display);border-top:.5px solid var(--rule);margin:2.5rem 0 1rem;padding-top:2rem;font-size:1.5rem;font-weight:700}.event-body h2:first-child{border-top:none;margin-top:0;padding-top:0}.event-body p{color:var(--ink-80);max-width:60ch;font-size:1rem}.speaker-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.speaker-card{border-top:.5px solid var(--rule);padding:1.25rem 0}.speaker-card .name{font-family:var(--f-display);margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.speaker-card .role{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-sm);color:var(--ink-60);margin:0 0 .5rem}.speaker-card .bio{font-size:var(--fs-sm);color:var(--ink-60);margin:0}.register-card{background:var(--paper-light);border:1px solid var(--ink);padding:1.75rem;position:sticky;top:6rem}.register-card .price{font-family:var(--f-display);letter-spacing:-.01em;margin:0 0 .25rem;font-size:2rem;font-weight:700}.register-card .price .unit{font-family:var(--f-mono);color:var(--ink-60);margin-left:.35rem;font-size:.9375rem;font-weight:400}.register-card .price-note{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-sm);color:var(--ink-60);margin:0 0 1.5rem}.register-card hr{background:var(--rule);border:none;height:.5px;margin:1.5rem 0}.register-card dl{grid-template-columns:auto 1fr;gap:.6rem 1rem;margin:0 0 1.5rem;display:grid}.register-card dt{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-40)}.register-card dd{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--ink);text-align:right;margin:0}.register-card .btn-primary{justify-content:center;width:100%}.slot-list{border-top:.5px solid var(--rule);margin:0 0 1.5rem;padding:0;list-style:none}.slot-list li{border-bottom:.5px solid var(--rule);grid-template-columns:1fr auto;align-items:baseline;gap:.75rem;padding:.875rem 0;display:grid}.slot-list .slot-name{font-family:var(--f-display);font-size:1rem;font-weight:500}.slot-list .slot-price{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--ink-60);margin-left:.5rem}.slot-list .slot-count{font-family:var(--f-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink)}.slot-list .slot-count.full{color:var(--vermillion)}.slot-list .slot-count.open{color:var(--moegi)}.slot-list li{align-items:start}.slot-list .slot-right{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.slot-list .slot-waitlist{color:var(--ink-40);margin-top:.1rem;font-size:.6875rem;display:block}.slot-list .slot-my-status{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--moegi);margin-left:.25rem}.slot-btn{background:var(--ink);color:var(--paper-light);font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s var(--ease), transform .25s var(--ease);white-space:nowrap;border:none;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.625rem;text-decoration:none;display:inline-flex}.slot-btn:hover:not(:disabled){background:var(--vermillion);transform:translateY(-1px)}.slot-btn:disabled{opacity:.5;cursor:not-allowed}.slot-btn--registered{background:var(--moegi)}.slot-btn--registered:hover:not(:disabled){background:var(--vermillion)}.slot-btn--waitlist{background:var(--indigo)}.notifications-wrap{align-items:center;display:inline-flex;position:relative}.notifications-bell{width:32px;height:32px;color:var(--ink-60);cursor:pointer;transition:color .3s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.notifications-bell:hover{color:var(--ink)}.notifications-dot{background:var(--vermillion);width:7px;height:7px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;position:absolute;top:5px;right:5px}.notifications-panel{background:var(--paper-light);border:1px solid var(--ink);z-index:100;width:min(400px,100vw - 2rem);max-height:520px;font-family:var(--f-sans);text-transform:none;letter-spacing:normal;color:var(--ink);flex-direction:column;font-style:normal;display:flex;position:absolute;top:calc(100% + .75rem);right:0;box-shadow:6px 6px #15120d0f}.notifications-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;padding:1rem 1.25rem .75rem;display:flex}.notifications-head .eyebrow{margin:0}.notifications-markall{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.1em;color:var(--vermillion);cursor:pointer;background:0 0;border:none;padding:0}.notifications-markall:hover{text-decoration:underline}.notifications-loading,.notifications-empty{text-align:center;color:var(--ink-40);margin:0;padding:2rem 1.25rem;font-size:.9375rem}.notifications-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.notifications-list::-webkit-scrollbar{width:5px}.notifications-list::-webkit-scrollbar-thumb{background:var(--rule)}.notifications-list li{border-bottom:.5px solid var(--rule)}.notifications-list li:last-child{border-bottom:none}.notifications-list button{text-align:left;cursor:pointer;width:100%;transition:background .25s var(--ease);font-family:var(--f-sans);background:0 0;border:none;align-items:flex-start;gap:.75rem;padding:.9rem 1.25rem;display:flex}.notifications-list button:hover{background:var(--paper-deep)}.notifications-list .unread-mark{background:var(--vermillion);border-radius:50%;flex:none;width:7px;height:7px;margin-top:.5rem}.notifications-list li.unread .item-title{color:var(--ink)}.notifications-list li:not(.unread) .item-title{color:var(--ink-60)}.notifications-list li:not(.unread) .item-body{margin-left:15px}.notifications-list li.unread .item-body{margin-left:0}.item-body{flex:1;min-width:0}.item-title{font-family:var(--f-display);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.2rem;font-size:.9375rem;font-weight:700;line-height:1.3;overflow:hidden}.item-preview{color:var(--ink-60);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.35rem;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.item-time{font-family:var(--f-mono);color:var(--ink-40);letter-spacing:.05em;font-size:.6875rem}.event-share-drawer{border-top:1px solid var(--ink);margin-top:2rem;padding:clamp(2rem,5vh,3rem) 0}.event-share-drawer .visibility-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.event-share-drawer .visibility-row label{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40)}.visibility-hint{color:var(--ink-60);max-width:60ch;margin:.5rem 0 2rem;font-size:.875rem}.share-link-form{border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule);margin:1.5rem 0;padding:1.25rem 0}.share-link-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem;display:grid}@media (width<=720px){.share-link-grid{grid-template-columns:1fr}}.share-link-grid label{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:.35rem;display:block}.share-link-grid input{border:none;border-bottom:1px solid var(--ink);width:100%;font-family:var(--f-mono);color:var(--ink);background:0 0;outline:none;padding:.55rem 0;font-size:.9375rem}.share-link-grid input:focus{border-bottom-color:var(--vermillion)}.share-link-list{border-top:.5px solid var(--rule);margin:0;padding:0;list-style:none}.share-link-row{border-bottom:.5px solid var(--rule);grid-template-columns:1fr auto;gap:1rem;padding:1rem 0;display:grid}.share-link-row.inactive{opacity:.5}.share-link-main{min-width:0}.share-link-url{color:var(--ink);word-break:break-all;background:var(--paper-light);border-left:2px solid var(--vermillion);margin-bottom:.4rem;padding:.4rem .6rem;font-size:.75rem}.share-link-meta{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--ink-60);flex-wrap:wrap;gap:1.5rem;display:flex}.share-link-meta .meta-label{font-family:var(--f-serif);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-40);margin-right:.25rem;font-style:italic}.share-link-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.share-link-actions .btn-ghost{font-size:var(--fs-xs);padding:.4rem .75rem}.calendar-controls{border-top:1px solid var(--ink);border-bottom:.5px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0;display:flex}.calendar-nav{align-items:center;gap:1rem;display:flex}.calendar-nav button{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);border:.5px solid var(--rule);cursor:pointer;transition:all .25s var(--ease);background:0 0;padding:.55rem 1rem}.calendar-nav button:hover{color:var(--ink);border-color:var(--ink)}.calendar-range{color:var(--ink);letter-spacing:.02em;font-size:.875rem}.calendar-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.seg-switch{border:.5px solid var(--rule);display:inline-flex}.seg-switch button{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);border:none;border-right:.5px solid var(--rule);cursor:pointer;transition:all .25s var(--ease);background:0 0;padding:.5rem .95rem}.seg-switch button:last-child{border-right:none}.seg-switch button.active{background:var(--ink);color:var(--paper-light)}.calendar-drawer{border-bottom:.5px solid var(--rule);padding:clamp(1.5rem,4vh,2.5rem) 0}.calendar-body{padding:clamp(2rem,5vh,3.5rem) 0 clamp(3rem,8vh,6rem)}.agenda{margin:0;padding:0;list-style:none}.agenda-day{border-bottom:.5px solid var(--rule);grid-template-columns:minmax(140px,180px) 1fr;gap:clamp(1rem,3vw,2rem);padding:1.5rem 0;display:grid}.agenda-day:first-child{border-top:1px solid var(--ink)}.agenda-day:last-child{border-bottom:1px solid var(--ink)}.agenda-day.today .agenda-date-num{color:var(--vermillion)}@media (width<=720px){.agenda-day{grid-template-columns:1fr;gap:.75rem}}.agenda-date{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.agenda-date-num{font-family:var(--f-display);letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.agenda-date-dow{font-family:var(--f-serif);color:var(--ink-60);font-size:1rem;font-style:italic}.agenda-today{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--vermillion);margin-left:.5rem}.agenda-empty{color:var(--ink-40);font-size:.9375rem}.agenda-items{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.agenda-item{border-top:.5px solid var(--rule-soft);grid-template-columns:auto 1fr auto;gap:1.25rem;padding:.75rem 0;display:grid}.agenda-item:first-child{border-top:none;padding-top:0}.agenda-time{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:.25rem;font-size:.875rem}.agenda-body{min-width:0}.agenda-kind-badge{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-light);background:var(--ink);margin-bottom:.4rem;padding:.2rem .5rem;display:inline-block}.item-event .agenda-kind-badge{background:var(--indigo)}.item-booking .agenda-kind-badge{background:var(--moegi)}.item-appointment .agenda-kind-badge{background:var(--vermillion)}.agenda-title{font-family:var(--f-display);letter-spacing:-.005em;color:var(--ink);font-size:1.25rem;font-weight:700;line-height:1.25;display:block}.agenda-link{transition:color .3s var(--ease);text-decoration:none}.agenda-link:hover{color:var(--vermillion)}.agenda-meta,.agenda-desc{color:var(--ink-60);margin-top:.25rem;font-size:.8125rem}.agenda-meta{font-family:var(--f-mono)}.agenda-desc{font-family:var(--f-serif);font-style:italic}.agenda-remove{border:.5px solid var(--rule);color:var(--ink-40);cursor:pointer;width:28px;height:28px;transition:all .25s var(--ease);background:0 0;justify-content:center;align-self:flex-start;align-items:center;font-size:1rem;display:flex}.agenda-remove:hover{color:var(--vermillion);border-color:var(--vermillion)}.new-appointment .form-row,.new-appointment .form-row-grid{margin-bottom:1.25rem}.new-appointment label{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:.35rem;display:block}.new-appointment input[type=text],.new-appointment input[type=datetime-local]{border:none;border-bottom:1px solid var(--ink);width:100%;font-family:var(--f-sans);color:var(--ink);transition:border-color .3s var(--ease);background:0 0;outline:none;padding:.6rem 0;font-size:1rem}.new-appointment input:focus{border-bottom-color:var(--vermillion)}.new-appointment .form-row-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=720px){.new-appointment .form-row-grid{grid-template-columns:1fr}}.new-appointment .visibility-row{flex-direction:column;gap:.5rem;display:flex}.new-appointment .radio-group{flex-wrap:wrap;gap:1.5rem;display:flex}.new-appointment .radio-group label{font-family:var(--f-sans);text-transform:none;letter-spacing:0;color:var(--ink);align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-style:normal;display:inline-flex}.new-appointment .btn-primary{margin-top:.75rem}.share-lists{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);margin-top:2rem;display:grid}@media (width<=720px){.share-lists{grid-template-columns:1fr}}.share-list{border-top:.5px solid var(--rule);margin:.75rem 0 0;padding:0;list-style:none}.share-list li{border-bottom:.5px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.share-list strong{font-family:var(--f-display);margin-right:.5rem;font-weight:700}.share-list .mono{color:var(--ink-40);font-size:.8125rem}.share-revoke{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--vermillion);cursor:pointer;background:0 0;border:none;padding:.25rem 0}.share-revoke:hover{text-decoration:underline}.inbox-new{border-top:1px solid var(--ink);border-bottom:.5px solid var(--rule);padding:clamp(2rem,5vh,3rem) 0}.inbox-new .eyebrow{margin-bottom:1rem}.inbox-search{grid-template-columns:1fr auto;gap:1rem;max-width:560px;display:grid}.inbox-search input{border:none;border-bottom:1px solid var(--ink);font-family:var(--f-sans);color:var(--ink);transition:border-color .3s var(--ease);background:0 0;outline:none;padding:.75rem 0;font-size:1rem}.inbox-search input:focus{border-bottom-color:var(--vermillion)}.inbox-search button{background:var(--ink);color:var(--paper-light);font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .3s var(--ease);border:none;padding:.6rem 1.25rem}.inbox-search button:hover:not(:disabled){background:var(--vermillion)}.inbox-search button:disabled{opacity:.4;cursor:not-allowed}.inbox-search-results{border-top:.5px solid var(--rule);max-width:560px;margin:1.25rem 0 0;padding:0;list-style:none}.inbox-search-results li{border-bottom:.5px solid var(--rule)}.inbox-search-results button{cursor:pointer;text-align:left;width:100%;font-family:var(--f-sans);transition:padding .25s var(--ease);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.9rem 0;font-size:.9375rem;display:flex}.inbox-search-results button:hover{padding-left:.5rem}.inbox-search-results button strong{font-family:var(--f-display);margin-right:.5rem;font-weight:700}.inbox-search-results .mono{color:var(--ink-40);font-size:.8125rem}.inbox-search-results .ink-accent{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.inbox-list-wrap{padding:clamp(2.5rem,6vh,4rem) 0 clamp(3rem,8vh,6rem)}.inbox-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.inbox-list li{border-bottom:.5px solid var(--rule)}.inbox-list li:last-child{border-bottom:1px solid var(--ink)}.inbox-list a{transition:background .3s var(--ease), padding-left .3s var(--ease);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.25rem 0;display:grid}.inbox-list a:hover{background:var(--paper-light);padding-left:1rem}.inbox-list .unread-dot{background:var(--vermillion);border-radius:50%;width:8px;height:8px;margin-top:.55rem}.inbox-list li:not(.unread) .inbox-body{margin-left:16px}.inbox-body{min-width:0}.inbox-title{align-items:baseline;gap:.75rem;margin-bottom:.25rem;display:flex}.inbox-title .name{font-family:var(--f-display);letter-spacing:-.005em;font-size:1.25rem;font-weight:700}.inbox-list li.unread .inbox-title .name{color:var(--ink)}.inbox-list li:not(.unread) .inbox-title .name{color:var(--ink-60)}.inbox-title .kind-badge{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.inbox-preview{font-family:var(--f-serif);color:var(--ink-60);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.9375rem;font-style:italic;display:-webkit-box;overflow:hidden}.inbox-time{font-size:var(--fs-xs);color:var(--ink-40);letter-spacing:.05em;white-space:nowrap;padding-top:.45rem}.conversation-head{border-bottom:.5px solid var(--rule);padding:clamp(2.5rem,6vh,4rem) 0 clamp(1rem,3vh,2rem)}.conversation-head .back-link{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);transition:color .3s var(--ease);margin-bottom:1rem;display:inline-block}.conversation-head .back-link:hover{color:var(--vermillion)}.conversation-head .eyebrow{margin:.5rem 0}.conversation-title{font-family:var(--f-display);letter-spacing:-.02em;margin:.5rem 0 .75rem;font-size:clamp(2rem,4vw,3.25rem);font-weight:800;line-height:1}.conversation-members{font-family:var(--f-serif);color:var(--ink-60);margin:0;font-size:.9375rem;font-style:italic}.conversation-body{padding:clamp(1.5rem,4vh,2.5rem) 0 clamp(3rem,6vh,5rem)}.chat-author-btn{font:inherit;font-family:var(--f-display);color:var(--ink);cursor:pointer;border:none;border-bottom:.5px dotted var(--ink-40);transition:border-color .3s var(--ease), color .3s var(--ease);background:0 0;padding:0;font-size:.875rem;font-weight:700;text-decoration:none}.chat-author-btn:hover{color:var(--vermillion);border-bottom-color:var(--vermillion)}.event-chat{border-top:1px solid var(--ink);padding:clamp(2.5rem,6vh,4rem) 0 clamp(2rem,5vh,3rem)}.event-chat--cta{text-align:center;padding:clamp(3rem,8vh,5rem) 0}.event-chat--cta .eyebrow{margin-bottom:1.25rem}.event-chat--cta h3{font-family:var(--f-display);letter-spacing:-.01em;margin:0 0 .75rem;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700}.event-chat--cta p{font-family:var(--f-serif);color:var(--ink-60);margin:0 0 2rem;font-style:italic}.chat-head{border-bottom:.5px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.chat-head .eyebrow{margin:0}.chat-count{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40)}.chat-thread{flex-direction:column;gap:.25rem;min-height:200px;max-height:480px;padding:.5rem 0;display:flex;overflow-y:auto}.chat-thread::-webkit-scrollbar{width:6px}.chat-thread::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.chat-loading,.chat-empty{color:var(--ink-40);text-align:center;margin:0;padding:2rem 0;font-size:.9375rem}.chat-loadmore{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);border:.5px solid var(--rule);cursor:pointer;transition:all .25s var(--ease);background:0 0;align-self:center;margin:.5rem auto 1rem;padding:.5rem 1rem}.chat-loadmore:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.chat-loadmore:disabled{opacity:.4;cursor:not-allowed}.chat-day{text-align:center;font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.1em;color:var(--ink-40);margin:1rem 0 .75rem}.chat-msg{max-width:65ch;padding:.5rem 0}.chat-msg.self{text-align:right;margin-left:auto}.chat-author{align-items:baseline;gap:.6rem;margin-bottom:.2rem;display:flex}.chat-msg.self .chat-author{justify-content:flex-end}.chat-author .name{font-family:var(--f-display);color:var(--ink);font-size:.875rem;font-weight:700}.chat-author .time{font-size:var(--fs-xs);color:var(--ink-40);font-variant-numeric:tabular-nums}.chat-body{color:var(--ink-80);white-space:pre-wrap;word-break:break-word;font-size:.9375rem;line-height:1.5}.chat-msg.self .chat-body{color:var(--ink);background:var(--paper-light);border-left:2px solid var(--vermillion);text-align:left;padding:.4rem .75rem;display:inline-block}.chat-compose{border-top:.5px solid var(--rule);grid-template-columns:1fr auto;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.chat-compose input{border:none;border-bottom:1px solid var(--ink);font-family:var(--f-sans);color:var(--ink);transition:border-color .3s var(--ease);background:0 0;outline:none;padding:.75rem 0;font-size:1rem}.chat-compose input:focus{border-bottom-color:var(--vermillion)}.chat-compose input::placeholder{color:var(--ink-40)}.chat-compose button{background:var(--ink);color:var(--paper-light);font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .3s var(--ease);border:none;padding:.6rem 1.25rem}.chat-compose button:hover:not(:disabled){background:var(--vermillion)}.chat-compose button:disabled{opacity:.4;cursor:not-allowed}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);min-height:70vh;padding:clamp(2.5rem,6vh,5rem) 0;display:grid}@media (width<=880px){.booking-layout{grid-template-columns:1fr}}.booking-aside{border-right:.5px solid var(--rule);padding-right:clamp(1.5rem,4vw,3rem)}@media (width<=880px){.booking-aside{border-right:none;border-bottom:.5px solid var(--rule);padding-bottom:2rem;padding-right:0}}.booking-aside .eyebrow{margin-bottom:1rem}.booking-aside .host-name{font-family:var(--f-display);letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(2rem,3.5vw,3rem);font-weight:800;line-height:1}.booking-aside .host-role{font-family:var(--f-serif);color:var(--ink-60);margin:0 0 2rem;font-size:1rem;font-style:italic}.booking-aside .event-type{border-top:.5px solid var(--rule);border-bottom:.5px solid var(--rule);margin-bottom:2rem;padding:1.25rem 0}.booking-aside .event-type h3{font-family:var(--f-display);margin:0 0 .5rem;font-size:1.375rem;font-weight:700}.booking-aside .event-type .dur{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--ink-60);letter-spacing:.08em}.booking-aside p{color:var(--ink-60);max-width:40ch;font-size:.9375rem}.calendar-head{border-bottom:.5px solid var(--rule);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.calendar-head h2{font-family:var(--f-display);margin:0;font-size:1.5rem;font-weight:700}.calendar-head .nav{gap:.5rem;display:flex}.calendar-head .nav button{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--ink-60);border:.5px solid var(--rule);transition:all .25s var(--ease);padding:.5rem .75rem}.calendar-head .nav button:hover{color:var(--ink);border-color:var(--ink)}.week-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.day-col{flex-direction:column;gap:.4rem;display:flex}.day-col .day-head{text-align:center;border-bottom:.5px solid var(--rule);margin-bottom:.5rem;padding-bottom:.75rem}.day-col .dow{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40)}.day-col .dom{font-family:var(--f-display);margin-top:.25rem;font-size:1.375rem;font-weight:700;line-height:1.1}.day-col .dom.today{color:var(--vermillion)}.day-col .slot{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.05em;border:.5px solid var(--rule);background:var(--paper-light);color:var(--ink-80);text-align:center;transition:all .2s var(--ease);padding:.55rem .25rem}.day-col .slot:hover{border-color:var(--ink);color:var(--ink)}.day-col .slot.selected{background:var(--ink);color:var(--paper-light);border-color:var(--ink)}.day-col .slot.taken{color:var(--ink-40);cursor:not-allowed;background:0 0;text-decoration:line-through}.day-col .slot.taken:hover{border-color:var(--rule);color:var(--ink-40)}.rule{background:var(--ink);border:none;height:1px;margin:2rem 0}.rule-soft{background:var(--rule);border:none;height:.5px;margin:1.5rem 0}::selection{background:var(--vermillion);color:var(--paper-light)}.event-create-form{max-width:760px;padding:clamp(2rem,5vh,3rem) 0 clamp(3rem,8vh,5rem)}.event-create-form .form-row,.event-create-form .form-row-grid{margin-bottom:1.5rem}.event-create-form label{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:.4rem;display:block}.event-create-form input[type=text],.event-create-form input[type=number],.event-create-form input[type=datetime-local],.event-create-form select,.event-create-form textarea{border:none;border-bottom:1px solid var(--ink);width:100%;font-family:var(--f-sans);color:var(--ink);transition:border-color .3s var(--ease);background:0 0;outline:none;padding:.65rem 0;font-size:1rem}.event-create-form textarea{resize:vertical;min-height:80px;padding:.75rem 0}.event-create-form input:focus,.event-create-form select:focus,.event-create-form textarea:focus{border-bottom-color:var(--vermillion)}.event-create-form .form-row-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=720px){.event-create-form .form-row-grid{grid-template-columns:1fr}}.slot-editor{border-top:.5px solid var(--rule);margin:.5rem 0 1rem;padding:0;list-style:none}.slot-editor li{border-bottom:.5px solid var(--rule);grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:.75rem;padding:.85rem 0;display:grid}@media (width<=720px){.slot-editor li{grid-template-columns:1fr 1fr auto;gap:.5rem}.slot-editor li>input:first-child{grid-column:1/-1}}.slot-editor input{padding:.4rem 0!important;font-size:.9375rem!important}.slot-remove{border:.5px solid var(--rule);color:var(--ink-40);cursor:pointer;width:28px;height:28px;transition:all .25s var(--ease);background:0 0;justify-content:center;align-items:center;font-size:1rem;display:flex}.slot-remove:hover{color:var(--vermillion);border-color:var(--vermillion)}.slot-add{margin-top:.5rem}.event-create-form .btn-primary{margin-top:1.5rem}.passkey-manager{padding:clamp(2rem,5vh,3rem) 0 clamp(3rem,8vh,5rem)}.pm-head{border-bottom:.5px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.pm-head .eyebrow{margin-bottom:.75rem}.pm-hint{max-width:48ch;color:var(--ink-60);margin:0;font-size:.9375rem}.pm-empty{text-align:center;color:var(--ink-40);padding:2.5rem 0;font-size:.9375rem}.pm-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.pm-row{border-bottom:.5px solid var(--rule);grid-template-columns:1fr auto;align-items:start;gap:1rem;padding:1.25rem 0;display:grid}.pm-row:last-child{border-bottom:1px solid var(--ink)}.pm-main{min-width:0}.pm-name{font-family:var(--f-display);letter-spacing:-.005em;margin-bottom:.35rem;font-size:1.125rem;font-weight:700}.pm-meta{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--ink-60);flex-wrap:wrap;gap:1.5rem;display:flex}.pm-label{font-family:var(--f-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-40);margin-right:.25rem;font-style:italic}.pm-delete{border:.5px solid var(--rule);font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--vermillion);cursor:pointer;transition:all .25s var(--ease);background:0 0;padding:.4rem .9rem}.pm-delete:hover:not(:disabled){background:var(--vermillion);color:var(--paper-light);border-color:var(--vermillion)}.pm-delete:disabled{opacity:.4;cursor:not-allowed}.auth-form{max-width:440px;padding:1.5rem 0 var(--section-y)}.auth-form label{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:.5rem;display:block}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{border:none;border-bottom:1px solid var(--ink);width:100%;font-family:var(--f-display);color:var(--ink);transition:border-color .3s var(--ease);-webkit-appearance:none;background:0 0;outline:none;margin-bottom:2rem;padding:.85rem 0;font-size:1.25rem}.auth-form input:focus{border-bottom-color:var(--vermillion)}.auth-form input::placeholder{color:var(--ink-40)}.auth-form .btn-primary{justify-content:center;width:100%;margin-top:.5rem}.auth-form .divider{font-family:var(--f-serif);font-style:italic;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);align-items:center;gap:1rem;margin:2rem 0 1.5rem;display:flex}.auth-form .divider:before,.auth-form .divider:after{content:"";background:var(--rule);flex:1;height:.5px}.auth-form .error{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--vermillion);border-top:.5px solid var(--vermillion);border-bottom:.5px solid var(--vermillion);margin:.5rem 0 1.5rem;padding:.75rem 0}.auth-form button[disabled]{opacity:.5;cursor:not-allowed}
