html[data-theme=dark]{color-scheme:dark;--background:#171421;--foreground:#f1ecf8;--card:#241d30;--card-foreground:#f1ecf8;--popover:#292134;--popover-foreground:#f1ecf8;--primary:#d7ff77;--primary-foreground:#211a2c;--secondary:#34283f;--secondary-foreground:#eee4fa;--muted:#2c2437;--muted-foreground:#bcaccb;--accent:#3a2c49;--accent-foreground:#f1ecf8;--border:#493b57;--input:#493b57;--ring:#bc9fed}html[data-theme=light]{color-scheme:light;--background:#fcfbfe;--foreground:#292137;--card:#fff;--card-foreground:#292137;--popover:#fff;--popover-foreground:#292137;--primary:#533974;--primary-foreground:#fff;--secondary:#eee7f5;--secondary-foreground:#3d2a52;--muted:#f2edf7;--muted-foreground:#746780;--accent:#ebe0f7;--accent-foreground:#352544;--border:#e2d9eb;--input:#e2d9eb;--ring:#9274b4}.preferences-bar{background:var(--background);color:var(--foreground);border-bottom:1px solid var(--border);position:relative;z-index:10;outline:none}.preferences-inner{max-width:1320px;margin:auto;min-height:46px;padding:4px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px}.preferences-caption{font-size:11px;color:var(--muted-foreground);letter-spacing:.04em}.language-switch select{background:transparent;color:inherit;font:inherit;border:0;outline-offset:3px;min-height:28px;max-width:110px}.language-switch option{background:var(--card);color:var(--foreground)}.theme-switch:hover{background:var(--muted)}.back-top{position:fixed;right:22px;bottom:24px;z-index:40;display:flex;align-items:center;justify-content:center;gap:6px;min-width:46px;min-height:46px;padding:10px 15px;border:1px solid var(--border);border-radius:26px;background:var(--card);color:var(--foreground);box-shadow:0 4px 22px #0002;font-size:12px}.back-top:hover{background:var(--accent)}body:has([role=dialog]) .back-top{display:none}.portal-page{overflow:clip}.detail-dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}html{scroll-padding-top:12px}html[data-theme=dark] .app .booking-card,html[data-theme=dark] .app .form-panel input,html[data-theme=dark] .app .form-panel textarea,html[data-theme=dark] .app .search-area,html[data-theme=dark] .collection-toggle,html[data-theme=dark] .detail-content input,html[data-theme=dark] .login-card,html[data-theme=dark] .secondary{background:var(--card);color:var(--foreground);border-color:var(--border)}html[data-theme=dark] .detail-dialog{background:var(--card)!important;color:var(--foreground)}html[data-theme=dark] .detail-photo{background:#1d1826}html[data-theme=dark] .app .form-panel .choice{background:var(--card)}html[data-theme=dark] .choice,html[data-theme=dark] .detail-content label,html[data-theme=dark] .form-panel label{color:var(--foreground)}html[data-theme=dark] .bottom-invite,html[data-theme=dark] .empty-panel,html[data-theme=dark] .fit-details dl,html[data-theme=dark] .form-note,html[data-theme=dark] .intro-cta,html[data-theme=dark] .login-notice,html[data-theme=dark] .upload-drop{background:#2d233b;color:#d0c1de;border-color:var(--border)}html[data-theme=dark] .app .primary{background:#d7ff77;color:#241c31}html[data-theme=dark] .app .primary:hover{background:#e2ffa2}html[data-theme=dark] .login-page .login-card h1{color:#f1ecf8}html[data-theme=dark] .login-page .primary{background:#d7ff77;color:#241c31}html[data-theme=dark] :is(.intro p,.page-heading p,.card-location,.card-bottom small,.section-heading span,.catalog-note,.collection-tools small,.detail-description,.fit-details small,.social-links small,.listing-fieldset p,.booking-card p,.booking-next small,.login-card p,.login-card>small,.login-security,.back,.eyebrow,.filter-label,.reset,.search-box button,.form-note,.upload-photo-panel>p,.empty-panel p,.bottom-invite p,.intro-cta small,.upload-drop span,.upload-drop small,.fit-details dt,.rent-price,footer){color:#baaacb!important}html[data-theme=dark] .card-kicker,html[data-theme=dark] .intro h1>span,html[data-theme=dark] .rent-price strong{color:#d7b9ff}html[data-theme=dark] .mini-avatar{background:#483657;color:#edddff}html[data-theme=dark] .collection-toggle.active{background:#d7ff77;color:#21182e}html[data-theme=dark] .gallery-controls button{background:#43334f;color:#f4e8ff}html[data-theme=dark] .detail-tools button[aria-pressed=true]{background:#532640;color:#ffc8e5}html[data-theme=dark] .error-bar{background:#452734;color:#ffe0e2;border-color:#794351}html[data-theme=dark] .status{background:#4a3d26;color:#f7dda0}html[data-theme=dark] .status.accepted{background:#294735;color:#c4edbe}html[data-theme=dark] .status.cancelled,html[data-theme=dark] .status.declined{background:#403748;color:#d9cbdf}html[data-theme=light] .app .header{background:#fff;color:#30223e;border-color:var(--border)}html[data-theme=light] .app .brand small,html[data-theme=light] .app .logout-button,html[data-theme=light] .portal-home-link{color:#78618c}html[data-theme=light] .app .main-nav button{color:#745e85}html[data-theme=light] .app .main-nav button[data-state=active]{background:#eadef9;color:#493162}html[data-theme=light] .portal-page{background:#fcfbfe;color:#30223e;--lime:#486829;--lavender:#7655a4}html[data-theme=light] .portal-nav{border-color:#e3d9ed}html[data-theme=light] .portal-brand small{color:#78628c}html[data-theme=light] .portal-kicker{color:#587633}html[data-theme=light] .portal-kicker>span{background:#658936}html[data-theme=light] .hero-copy h1>span{color:#7651a6}html[data-theme=light] .portal-cta{background:#d7ff77;border-color:#badb6e;color:#242d18;box-shadow:5px 5px 0 #7054931c}html[data-theme=light] :is(.hero-copy>p,.hero-edition,.hero-footnote,.showcase-coordinate,.showcase-label small,.showcase-controls small,.showcase-status,.section-intro>p,.quest-card p,.portal-finale small,.portal-footer){color:#776684}html[data-theme=light] .showcase-controls button{background:#fff;color:#634883;border-color:#ddd0e9}html[data-theme=light] .showcase-controls button:hover{background:#eee4f7}html[data-theme=light] .showcase-halo{border-color:#b99bd355;background:radial-gradient(ellipse,#c7afe83c,transparent 69%)}html[data-theme=light] .showcase-kanji{color:#ad82cc0a;-webkit-text-stroke-color:#9872b633}html[data-theme=light] .showcase-rank{color:#725598}html[data-theme=light] .showcase-label>span:last-child{color:#7655a4;border-color:#cebddb}html[data-theme=light] .scene-strip{background:#d7c5ef;color:#403051}html[data-theme=light] .quest-card{background:#fff;border-color:#e5daee}html[data-theme=light] .quest-card>div{color:#8662a8}html[data-theme=light] .portal-finale{background:radial-gradient(ellipse at 50% 150%,#decbf249,transparent 70%),#f2ecf8;border-color:#e0d2ed}html[data-theme=light] .portal-finale>span{color:#7655a4}html[data-theme=light] .portal-footer{border-color:#e1d5e9}html[data-theme=light] .portal-footer .portal-brand{color:#433052}html[data-language=en] .hero-copy h1{white-space:normal;font-size:clamp(32px,4vw,54px);letter-spacing:-.04em}html[data-language=en] .brand small{letter-spacing:.03em;font-size:9px}html[data-language=en] .app .main-nav button{padding-left:12px;padding-right:12px}html[data-language=en] .section-heading{flex-wrap:wrap}html[data-language=en] .hero-copy>p{max-width:660px;margin-inline:auto}html[data-language=en] .showcase-kanji{font-size:clamp(32px,6vw,68px);top:32%;left:2%;right:2%;letter-spacing:0}html[data-language=en] .bottom-invite,html[data-language=en] .showcase-label{flex-wrap:wrap}html[data-language=en] .google-button{font-size:14px}@media(max-width:600px){.preferences-inner{padding:4px 16px;min-height:48px}.preferences-caption{font-size:9px;max-width:100px}.back-top{right:15px;bottom:calc(20px + env(safe-area-inset-bottom));padding:10px 13px}body:has(.app) .back-top{bottom:calc(90px + env(safe-area-inset-bottom))}html[data-theme=light] .app .main-nav{background:#fff!important;border-color:#e3d9ed}html[data-theme=light] .app .main-nav button[data-state=active]{background:#eadef9!important;color:#493162}html[data-language=en] .app .main-nav button{font-size:10px;padding-left:1px;padding-right:1px}html[data-language=en] .app .brand{font-size:14px}html[data-language=en] .showcase-label>span:last-child{display:none}html[data-language=en] .hero-copy>p{font-size:12px;max-width:300px}html[data-language=en] .hero-copy h1>span{display:block}html[data-language=en] .intro h1{font-size:29px}html[data-language=en] .filters{flex-wrap:wrap}html[data-language=en] .choice{min-width:100px}html[data-language=en] .collection-tools small{flex-basis:100%}html[data-language=en] .detail-meta{gap:9px}}html .portal-page{overflow:clip}html[data-theme=dark] .photo-count,html[data-theme=dark] .size-tag{color:#392647}html[data-theme=dark] .remove-photo{background:#30243d;color:#eee4fa}html[data-theme=dark] .cover-choice{background:#3f3052;color:#eee4fa}html[data-theme=dark] .upload-thumbnails .upload-thumb{background:#231b2e}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#a798b6;opacity:1}html[data-theme=dark] .detail-content .blocked-dates,html[data-theme=dark] .detail-content .date-error{color:#f3bbb9}.language-switch:hover{background:var(--muted)}.closet-brand-icon,.login-brand-icon,.portal-brand img{object-fit:contain;background:transparent;flex-shrink:0}@media(max-width:600px){.app .brand{font-size:14px}.portal-nav .portal-brand{font-size:15px;gap:8px}.portal-nav{gap:12px}}html[data-theme=dark] .closet-brand-icon,html[data-theme=dark] .login-brand-icon,html[data-theme=dark] .portal-brand img{filter:brightness(1.9)}.login-page .line-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:18px 0 12px;border-radius:6px;background:#06c755;color:#fff;font-size:15px;font-weight:600;border:1px solid transparent}.login-page .line-button:hover{background:#05b34c}.login-page .line-button:disabled{background:#fff;color:#aaa;border-color:#e5e5e5;cursor:not-allowed}#page-top{outline:none}.login-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1000px;margin:0 auto 28px}.login-topbar .back{position:static;margin:0}.login-providers{display:grid;margin:28px 0}.provider-option{min-width:0}.login-card .provider-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 8px;border-radius:8px;border:1px solid #dedde2;font-weight:600;background:#fff;color:#202124}.provider-button img{width:24px;height:24px;object-fit:contain;flex-shrink:0}.login-card .provider-line{background:#06c755;color:#fff;border-color:#06c755}.login-card .provider-apple{background:#000;color:#fff;border-color:#555}.provider-apple img{filter:invert(1)}.login-card .provider-button:disabled{opacity:.5;cursor:not-allowed}.provider-option small{display:block;font-size:10px;margin-top:7px}.provider-button:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.provider-button:not(:disabled):hover{box-shadow:0 0 0 2px var(--ring)}@media(max-width:650px){.login-topbar{flex-wrap:wrap;gap:12px}.login-providers{gap:8px}.login-page{padding-left:20px;padding-right:20px}}.login-providers{grid-template-columns:1fr;gap:12px}.login-card .provider-button{flex-direction:row;gap:12px;min-height:52px;font-size:14px}.provider-option{position:relative}.provider-option small{margin-top:5px}.login-providers{margin-bottom:22px}.app .booking-card,.app .bottom-invite,.app .empty-panel,.app .form-panel,.app .intro-cta,.app .listing-fieldset,.app .search-area,.detail-dialog,.login-page .login-card,.portal-page .portal-finale,.portal-page .quest-card{border-radius:4px!important}.app .choice,.app .collection-toggle,.app .form-panel input,.app .form-panel textarea,.app .login-link,.app .main-nav button,.app .photo-button,.app .primary,.app .secondary,.app .social-links a,.app .upload-thumb,.back-top,.detail-content input,.language-switch,.login-card .provider-button,.portal-nav .portal-login,.portal-page .portal-cta,.showcase-controls button,.theme-switch{border-radius:3px!important}html .preferences-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}html .preferences-controls :is(.theme-switch,.language-switch){display:inline-flex;justify-content:center;align-items:center;gap:4px;width:76px;min-width:76px;height:44px;min-height:44px;padding:0 4px;font-size:12px;line-height:1.2;white-space:nowrap;border-radius:3px;border:1px solid var(--border);background:var(--card);color:var(--foreground)}html .preferences-controls button:hover{background:var(--muted)}html .portal-nav nav{gap:8px;justify-content:flex-end}html .portal-nav .about-link{margin-right:12px}html .app .header-account .login-link,html .portal-nav .portal-login{display:inline-flex;justify-content:center;align-items:center;width:88px;min-width:88px;height:48px;padding:0 8px;font-size:14px;font-weight:600;border:1px solid var(--border);border-radius:3px;white-space:nowrap}html .portal-nav .portal-login{border-color:#ffffff35}html[data-theme=light] .portal-nav .portal-login{border-color:#d2c2e0}html .app .header{height:auto;min-height:92px;padding-top:16px;padding-bottom:16px}html .app .header-account{gap:8px;flex-wrap:wrap;min-width:0}html .account-actions{justify-content:flex-end;flex-wrap:wrap;gap:8px}html .account-avatar{width:34px;height:34px;overflow:hidden;flex-shrink:0}html .account-avatar img{display:block;width:100%;height:100%;object-fit:cover}html .account-actions :is(a,button){min-height:44px;display:inline-flex;align-items:center;padding:8px;white-space:nowrap}html .admin-shell .admin-account{justify-content:flex-end;gap:8px}html .admin-account>a{display:inline-flex;align-items:center;min-height:44px;padding:8px}.admin-heading>*,.app .intro>*,.booking-card>*,.portal-hero>*{min-width:0}html :is(.card-title,.card-kicker,.booking-card h2,.owner-line,.login-notice,.admin-heading p,.blocked-dates){overflow-wrap:anywhere}html .action-row{flex-wrap:wrap}html .login-providers{width:100%;grid-template-columns:minmax(0,1fr)}html .login-card .provider-button{padding:12px;white-space:normal}html .login-security{align-items:flex-start;text-align:left}html .login-security svg{flex-shrink:0;margin-top:2px}html :is(.detail-dialog,.admin-dialog){max-height:calc(100dvh - 32px);overscroll-behavior:contain;overflow:auto}html [data-slot=dialog-close]{width:44px;height:44px;display:grid;place-items:center;background:var(--card);color:var(--foreground);opacity:1;border:1px solid var(--border);z-index:5}html .detail-dialog>.detail-photo{grid-column:1;grid-row:1;min-width:0}html .detail-dialog>.detail-content{grid-column:2;grid-row:1;min-width:0}html .detail-dialog>[data-slot=dialog-close]{position:sticky;top:8px;right:auto;grid-column:1/-1;grid-row:1;align-self:start;justify-self:end;margin:8px 8px 0 0}html .admin-dialog{padding-top:64px}html .admin-dialog textarea{width:100%;min-width:0;font-size:16px}html .admin-dialog-actions{flex-wrap:wrap}html .admin-table-wrap{max-width:100%;overscroll-behavior-x:contain}.admin-section,html .admin-main{min-width:0}@media (min-width:801px) and (max-width:1100px){html .app .header{flex-wrap:wrap;gap:16px}html .app .main-nav{order:3;width:100%;justify-content:center}html .app .header-account{margin-left:auto}}@media (max-width:800px){html .app{padding-bottom:calc(88px + env(safe-area-inset-bottom))}html body{padding-bottom:0}html .app .header{flex-wrap:wrap;gap:14px}html .app .header-account{margin-left:auto}html .app .main-nav{position:fixed;bottom:0;left:0;right:0;z-index:35;width:100%!important;justify-content:space-around!important;gap:0!important;padding:7px 8px calc(8px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--border);background:var(--card)!important}html .app .main-nav button{flex:1;min-width:0;flex-direction:column;min-height:53px;padding:5px 1px;gap:3px;font-size:12px}html .app .main-nav button svg{display:block;width:21px!important;height:21px!important}html body:has(.app) .back-top{bottom:calc(90px + env(safe-area-inset-bottom))}html .filters{flex-wrap:wrap}html .filters .choice{min-width:0;flex:1 1 110px;max-width:100%}}@media (max-width:650px){html .admin-header,html .app .header,html .portal-nav{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;height:auto;min-height:0;padding:16px;gap:14px}html .admin-header>.brand,html .app .header>.brand,html .portal-nav>.portal-brand{flex-basis:100%;min-width:0}html .admin-header .admin-account,html .app .header-account,html .portal-nav nav{width:100%;margin-left:auto;justify-content:flex-end;gap:8px}html .portal-nav .portal-brand{font-size:15px}html .app .header-account .account-actions{flex-basis:100%}html .portal-nav .about-link{display:none}html .login-page{padding:20px 16px 40px}html .login-topbar{display:flex;flex-direction:column;align-items:flex-end;gap:14px}html .login-topbar .back{align-self:flex-start;min-height:44px}html .login-card{padding:28px 20px;margin-top:24px;width:100%}html .login-card h1{font-size:clamp(25px,7vw,29px)}html .login-card p{font-size:14px}html .app .main-wrap{padding:0 16px}html .app :is(.form-row,.measurement-grid){grid-template-columns:minmax(0,1fr)}html .app .section-heading{flex-wrap:wrap}html .app .section-heading>div{flex:1 1 150px}html .app .section-heading .choice{max-width:100%;white-space:normal}html .app .search-box{padding-left:4px;gap:8px}html .app .search-box svg{flex-shrink:0}html .app .choice{white-space:normal;height:auto!important;min-height:44px}html .app .upload-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}html .app .upload-drop{padding:20px;text-align:center}html .app .booking-actions{width:100%}html .app .booking-card{flex-wrap:nowrap}html .app .booking-next{flex-basis:auto;width:100%}html .app .action-row{width:100%}html .app .action-row>button{flex:1;white-space:normal}html .portal-page .hero-copy h1{white-space:normal}html .portal-page .hero-actions{flex-direction:column;align-items:center}html .portal-page .showcase-controls{flex-wrap:wrap;gap:8px}html .portal-page .showcase-controls button{min-height:44px;min-width:44px}html .portal-page .showcase-controls small{flex-basis:100%;text-align:center}html .portal-page .showcase-label{flex-wrap:wrap;gap:8px}html .portal-page .portal-footer{flex-direction:column;align-items:flex-start}html .detail-dialog{grid-template-columns:minmax(0,1fr);max-width:calc(100% - 24px)!important}html .detail-dialog>.detail-content{grid-column:1;grid-row:2;padding:24px 16px}html .detail-dialog .form-row{grid-template-columns:minmax(0,1fr)}html .detail-dialog .detail-tools{gap:8px}html .detail-dialog .detail-tools button{flex:1 1 110px}html .detail-dialog .cost-summary{gap:8px}html .admin-header .admin-account .preferences-controls{flex-basis:100%}html .admin-heading{flex-wrap:wrap}html .admin-pagination{flex-wrap:wrap;gap:8px;padding:14px}html .admin-search{flex-wrap:wrap}html .admin-search input{flex:1 1 150px;font-size:16px}html .admin-dialog{max-width:calc(100% - 24px);padding-inline:16px}}