:root{--paper:#f4ece0;--surface:#fbf6ee;--surface-2:#f1e7d8;--ink:#2b221e;--ink-soft:#6c5d52;--ink-faint:#9a8b7d;--line:#e2d5c2;--line-soft:#ece2d2;--primary:#8a3233;--primary-d:#6e2728;--primary-soft:#f3e1dc;--gold:#b4893c;--gold-soft:#f0e4cc;--success:#4e7a52;--success-soft:#e2ebdd;--danger:#b0463c;--info:#3c5a78;--radius:18px;--radius-sm:12px;--radius-lg:26px;--shadow:0 1px 2px rgba(43,34,30,.04),0 8px 24px -12px rgba(43,34,30,.18);--shadow-lg:0 2px 6px rgba(43,34,30,.05),0 24px 50px -20px rgba(43,34,30,.3);--shadow-sm:0 1px 2px rgba(43,34,30,.06),0 3px 8px -4px rgba(43,34,30,.14);--font-display:"Shippori Mincho B1","Shippori Mincho",serif;--font-ui:"Zen Kaku Gothic New",system-ui,sans-serif;--density:1}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:radial-gradient(120% 80% at 50% -10%,#efe4d4 0,#e7dac6 55%,#ddcdb4 100%);min-height:100vh}.stage{min-height:100vh;flex-direction:column;padding:28px 20px 80px}.shell-bar,.stage{display:flex;align-items:center}.shell-bar{width:100%;max-width:1180px;gap:18px;margin-bottom:26px}.shell-brand{display:flex;align-items:center;gap:12px;margin-right:auto}.shell-brand img{width:42px;height:42px;border-radius:50%;box-shadow:var(--shadow-sm)}.shell-brand .bx{display:flex;flex-direction:column;line-height:1.05}.shell-brand .bx b{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.14em;color:#3a2c25}.shell-brand .bx span{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint)}.seg{display:inline-flex;background:hsla(0,0%,100%,.55);border:1px solid hsla(0,0%,100%,.7);border-radius:999px;padding:4px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.seg button{border:0;background:transparent;font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:#6c5d52;padding:8px 18px;border-radius:999px;cursor:pointer;transition:all .18s ease;white-space:nowrap}.seg button.on{background:var(--ink);color:#f6efe2;box-shadow:0 2px 8px -2px rgba(43,34,30,.5)}.seg.sm button{padding:6px 13px;font-size:12.5px}.lang-toggle{display:inline-flex;border:1px solid rgba(43,34,30,.16);border-radius:999px;overflow:hidden;background:hsla(0,0%,100%,.5)}.lang-toggle button{border:0;background:transparent;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.04em;padding:7px 12px;cursor:pointer;color:var(--ink-soft)}.lang-toggle button.on{background:var(--primary);color:#fff}.phone{width:390px;height:844px;background:#11100f;border-radius:54px;padding:13px;box-shadow:var(--shadow-lg),0 0 0 2px rgba(0,0,0,.4) inset;position:relative}.phone-screen{width:100%;height:100%;background:var(--paper);border-radius:42px;overflow:hidden;position:relative;display:flex;flex-direction:column}.phone-notch{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:122px;height:30px;background:#11100f;border-radius:0 0 18px 18px;z-index:60}.statusbar{height:50px;flex:0 0 50px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 26px 6px;font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--ink);z-index:50}.statusbar .sb-r{display:flex;gap:6px;align-items:center}.scroll{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.scroll::-webkit-scrollbar{width:5px}.scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.desktop{width:1180px;max-width:100%;height:760px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(43,34,30,.1);display:flex;flex-direction:column}.dt-chrome{height:44px;flex:0 0 44px;background:#ece4d7;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 16px}.dt-lights{display:flex;gap:7px}.dt-lights i{width:12px;height:12px;border-radius:50%;display:block}.dt-url{margin-left:12px;background:#fbf6ee;border:1px solid var(--line);border-radius:8px;height:26px;display:flex;align-items:center;padding:0 12px;font-size:12px;color:var(--ink-soft);min-width:320px}.dt-body{flex:1 1 auto;display:flex;min-height:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:700;font-size:14px;border-radius:999px;border:0;cursor:pointer;padding:12px 20px;transition:transform .12s ease,background .18s ease,box-shadow .18s ease}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px -8px var(--primary)}.btn-primary:hover{background:var(--primary-d)}.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn-ghost:hover{background:var(--surface-2)}.btn-dark{background:var(--ink);color:#f6efe2}.btn-block{width:100%}.btn-sm{padding:8px 14px;font-size:12.5px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:999px;text-transform:uppercase;white-space:nowrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.kicker{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}h1,h2,h3,h4{font-weight:700;margin:0;color:var(--ink)}.serif,h1,h2,h3,h4{font-family:var(--font-display)}a{color:inherit;text-decoration:none}.fade-up{animation:fadeUp .5s cubic-bezier(.2,.7,.2,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fade-up{animation:none}}.hr{height:1px;background:var(--line);border:0;margin:0}.cover{position:relative;overflow:hidden;background:var(--surface-2)}.cover .cover-motif{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.9}.cover .cover-grain{position:absolute;inset:0;background-image:radial-gradient(hsla(0,0%,100%,.18) 1px,transparent 0);background-size:4px 4px;mix-blend-mode:overlay}.scrim{background:linear-gradient(0deg,rgba(20,12,10,.78) 0,rgba(20,12,10,.18) 45%,transparent 75%)}.stat-num{font-family:var(--font-display);font-weight:700;line-height:1}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.bl-root{width:100%;display:flex;flex-direction:column;align-items:center}.adm-side{width:222px;flex:0 0 222px;background:var(--ink);color:#d9cdbd;padding:22px 14px;display:flex;flex-direction:column;gap:4px}.adm-side .nav-i{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;font-size:13.5px;font-weight:600;color:#c9bcab;cursor:pointer;transition:all .15s}.adm-side .nav-i:hover{background:hsla(0,0%,100%,.06);color:#f2ebdd}.adm-side .nav-i.on{background:var(--primary);color:#fff}.adm-main{flex:1 1 auto;overflow-y:auto;background:#f7f1e8;min-width:0}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px}.metric .ml{font-size:12px;color:var(--ink-soft);font-weight:600}.metric .mv{font-family:var(--font-display);font-size:30px;line-height:1}.metric .md,.metric .mv{font-weight:700;margin-top:8px}.metric .md{font-size:11.5px;display:inline-flex;align-items:center;gap:4px}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th{text-align:left;font-weight:700;color:var(--ink-soft);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:11px 14px;border-bottom:1px solid var(--line)}table.tbl td{padding:12px 14px;border-bottom:1px solid var(--line-soft)}table.tbl tr:hover td{background:#fbf6ee}.seg.dark{background:hsla(0,0%,100%,.07);border-color:hsla(0,0%,100%,.12)}.seg.dark button{color:#c9bcab}.seg.dark button.on{background:var(--primary);color:#fff;box-shadow:none}.playful .phone-screen{background:var(--paper)}.playful .card{border-radius:calc(var(--radius) + 6px);border-width:1.5px;box-shadow:0 2px 0 var(--line),0 10px 26px -16px rgba(43,34,30,.35);transition:transform .16s cubic-bezier(.3,1.4,.5,1),box-shadow .16s ease}.playful button:hover>.card{transform:translateY(-3px);box-shadow:0 4px 0 var(--line),0 18px 34px -18px rgba(43,34,30,.4)}.playful .tag{font-weight:800;border-radius:9px;padding:5px 11px;box-shadow:0 1.5px 0 rgba(43,34,30,.12);letter-spacing:.02em;text-transform:none}.playful .btn{font-weight:800;border-radius:16px;padding:13px 22px;transition:transform .14s cubic-bezier(.3,1.5,.5,1),background .18s ease}.playful .btn-primary{box-shadow:0 4px 0 var(--primary-d)}.playful .btn-primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--primary-d)}.playful .btn:hover{transform:translateY(-2px) rotate(-.6deg)}.playful .btn:active{transform:translateY(1px)}.playful .cover{filter:saturate(1.12) brightness(1.04)}.sticker{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--ink);font-weight:800;font-size:12.5px;padding:7px 13px;border-radius:12px;box-shadow:0 3px 0 rgba(43,34,30,.18);white-space:nowrap}.tilt-l{transform:rotate(-3deg)}.tilt-r{transform:rotate(2.5deg)}.wk-scroll{display:flex;gap:13px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:4px 18px 8px;scrollbar-width:none}.wk-scroll::-webkit-scrollbar{display:none}.wk-card{scroll-snap-align:start;flex:0 0 228px}.wk-card:last-child{margin-right:18px}@keyframes wobble{0%,to{transform:rotate(-3deg)}50%{transform:rotate(2deg)}}@media (prefers-reduced-motion:no-preference){.playful .wobble{animation:wobble 2.6s ease-in-out infinite}}.bl-topbar{width:100%;max-width:1080px;display:flex;align-items:center;gap:14px;margin:0 auto 18px;padding:0 16px}.bl-topbar .shell-brand{margin-right:auto}.bl-emblem{width:42px;height:42px;border-radius:50%;background:radial-gradient(120% 120% at 30% 25%,var(--primary) 0,var(--primary-d) 100%);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm),inset 0 0 0 1.5px hsla(0,0%,100%,.12);flex:0 0 42px}.bl-screen{width:100%;max-width:1080px;margin:0 auto}@media (max-width:760px){.bl-screen,.bl-topbar{max-width:520px}.stage{padding:16px 0 60px}}.auth-card{width:100%;max-width:440px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.pub-hero{position:relative;height:340px;overflow:hidden}.pub-hero-inner{position:absolute;left:22px;right:22px;bottom:24px;pointer-events:none}.pub-hero-title{color:#fff;font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1.08;white-space:pre-line;text-shadow:0 3px 18px rgba(0,0,0,.4);margin:0}@media (min-width:760px){.pub-hero{height:460px;border-radius:var(--radius-lg)}.pub-hero-inner{left:44px;right:44px;bottom:44px;max-width:640px}.pub-hero-title{font-size:60px}}.feed-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;padding:0 18px 36px}@media (min-width:680px){.feed-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.feed-grid{grid-template-columns:repeat(3,1fr)}}.feed-foot{grid-column:1/-1}.dash-content{padding:0 18px 30px;margin-top:-48px;position:relative;z-index:2}.dash-grid{display:grid;grid-template-columns:1fr;grid-gap:0 26px;gap:0 26px}@media (min-width:880px){.dash-content{max-width:1000px;margin-left:auto;margin-right:auto}.dash-grid{grid-template-columns:1fr 1fr;align-items:start}}.detail-grid{display:grid;grid-template-columns:1fr;grid-gap:0 30px;gap:0 30px;padding:18px 18px 40px}.detail-side{order:1}.detail-main{order:2}.detail-rsvp-desktop{display:none}@media (min-width:860px){.detail-grid{grid-template-columns:1.6fr 1fr;align-items:start;max-width:1000px;margin:0 auto;padding:26px 26px 50px}.detail-main{order:1}.detail-side{order:2;position:-webkit-sticky;position:sticky;top:20px}.detail-rsvp-mobile{display:none!important}.detail-rsvp-desktop{display:block}}.admin-stage{min-height:100vh;padding:22px 20px;display:flex;justify-content:center}.admin-shell{width:100%;max-width:1180px;display:flex;min-height:600px;height:calc(100vh - 44px);background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg)}.adm-foot{margin-top:auto;padding-top:14px}@media (max-width:900px){.admin-stage{padding:0}.admin-shell{flex-direction:column;height:auto;min-height:100vh;border-radius:0;border:0}.adm-side{width:100%;flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.adm-brand{margin-right:auto}.adm-side .nav-i{flex:0 0 auto;padding:8px 12px}.adm-newbtn{order:5}.adm-foot{margin-top:0;width:100%;order:6;display:flex;align-items:center;gap:12px;border-top:1px solid hsla(0,0%,100%,.08);padding-top:10px}.adm-foot .lang-toggle{margin-bottom:0!important}.adm-foot-user{border-top:0!important;padding-top:0!important;margin-left:auto}}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}@media (max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl-wrap table.tbl{min-width:660px}}.charts-row{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:16px;gap:16px;margin-bottom:24px}@media (max-width:820px){.charts-row{grid-template-columns:1fr}}.studio{height:100%;display:flex;min-height:0}.studio-form{flex:1 1;min-width:0;overflow-y:auto;padding:24px 30px 40px}.studio-preview{width:372px;flex:0 0 372px;border-left:1px solid var(--line);background:#f1e7d8;overflow-y:auto;padding:24px 22px 40px}@media (max-width:920px){.studio{flex-direction:column;height:auto}.studio-form{padding:18px 16px 24px}.studio-preview{width:100%;flex:none;border-left:0;border-top:1px solid var(--line);padding:20px 16px 40px}}.studio-form .fg2,.studio-form .fg3,.studio-form .fg4,.studio-form .fgc{display:grid;grid-gap:12px;gap:12px}.studio-form .fg2{grid-template-columns:1fr 1fr}.studio-form .fg3{grid-template-columns:1.4fr 1fr 1fr}.studio-form .fg4{grid-template-columns:repeat(4,1fr)}.studio-form .fgc{grid-template-columns:1fr 1.25fr;align-items:end}@media (max-width:560px){.studio-form .fg2,.studio-form .fg3,.studio-form .fgc{grid-template-columns:1fr}.studio-form .fg4{grid-template-columns:1fr 1fr}}.checkin-body{flex:1 1;padding:22px 30px 40px;display:grid;grid-template-columns:300px 1fr;grid-gap:22px;gap:22px;align-items:start}@media (max-width:820px){.checkin-body{grid-template-columns:1fr;padding:18px 16px 40px}}@media (max-width:600px){.adm-pad{padding-left:16px!important;padding-right:16px!important}}