:root{--wine:#713146;--wine2:#8f3f55;--dark:#34222f;--muted:#998789;--rose:#a45f75;--gold:#c49363;--paper:#fffaf6;--border:#eadbd3;--shadow:0 12px 40px rgba(101,51,53,.08);--serif:'Playfair Display','Times New Roman',Georgia,serif}
body{background:#f9f3f0;color:#3d2834}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c08b66;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button{border:0}body.admin-bar .dco-header{top:32px}.dco-app{background:linear-gradient(130deg,#fcf7f2,#faf0ed 56%,#f8f4f0);min-height:100vh;isolation:isolate}.dco-header{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,2.2vw,45px);background:linear-gradient(95deg,#4a374c,#54465b 65%,#5b4b62);color:#fff;box-shadow:0 5px 25px rgba(67,35,58,.14);position:relative;z-index:3}.brand{display:flex;align-items:center;gap:12px;min-width:238px}.brand-logo{position:relative;color:#e8ba7c;font-family:Georgia,serif;font-size:50px;line-height:1}.brand-logo span{position:absolute;left:17px;top:5px;font-size:39px}.brand b{font-family:var(--serif);font-size:24px;font-weight:600;white-space:nowrap}.brand b em{font-weight:400}.brand small{display:block;letter-spacing:2px;font-size:9px;color:#e6d3d9;margin-top:3px;font-weight:600}.header-nav{display:flex;align-items:center;gap:7px}.header-nav a,.header-nav button{display:flex;align-items:center;gap:8px;color:#f6e8eb;background:transparent;border-radius:100px;padding:12px 16px;font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none}.header-nav a:hover,.header-nav button:hover,.header-nav .nav-active{background:#fae8ed;color:#74364c}.header-end{display:flex;align-items:center;gap:12px}.online-badge,.header-share{font-size:12px;font-weight:700;padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:50px;background:rgba(255,255,255,.075);color:#fdf1ed;white-space:nowrap}.online-badge{display:flex;align-items:center;gap:8px}.online-badge i,.fake-signal i,.tiny-status{width:7px;height:7px;border-radius:50%;background:#62d6a0;display:inline-block;box-shadow:0 0 0 3px rgba(96,213,160,.15)}.header-share{background:#f6ebed;color:#713146}.wedding-banner{height:136px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 51% -30%,#fff 7%,transparent 64%),linear-gradient(100deg,#e9cfd0,#fff6ec 40%,#fff3ec 60%,#e9cbd2);display:flex;align-items:center;justify-content:center;text-align:center;border-bottom:1px solid #eadad2}.wedding-banner:before,.wedding-banner:after{content:'';position:absolute;width:40%;height:160px;top:50px;z-index:0;opacity:.5;background:repeating-radial-gradient(ellipse at center,transparent 0 17px,#e9bbc2 18px 21px,transparent 22px 34px);transform:rotate(18deg)}.wedding-banner:before{left:-14%}.wedding-banner:after{right:-14%;transform:rotate(-18deg)}.banner-inner{z-index:1}.banner-eyebrow{color:#ba8a6d;font-size:11px;font-weight:700;letter-spacing:5px}.wedding-banner h1{font-family:var(--serif);font-size:clamp(35px,3.3vw,56px);line-height:1.05;font-weight:500;color:#783348;margin:7px 0 4px;text-shadow:0 2px 20px #fff6}.wedding-banner h1 em{font-family:Georgia,serif;font-size:.7em;font-weight:400;color:#c29374}.banner-date{color:#a77b61;font-size:11px;letter-spacing:3px;font-weight:700}.banner-flower{font-size:74px;color:#df9cab;position:absolute;z-index:1;top:11px;text-shadow:3px 3px #f4ded4,-10px 3px #ccae80;opacity:.8}.banner-flower span{font-size:35px;color:#c79a69;display:inline-block;vertical-align:top}.left-flower{left:19%}.right-flower{right:19%}.dco-grid{display:grid;grid-template-columns:minmax(224px,254px) minmax(560px,1fr) minmax(280px,318px);gap:15px;max-width:1920px;margin:0 auto;padding:17px 22px 16px;align-items:start}.left-sidebar,.right-sidebar{min-width:0}.left-sidebar{background:rgba(255,255,255,.73);border:1px solid #efe2d9;border-radius:19px;padding:18px 12px 14px;box-shadow:var(--shadow);min-height:700px}.sidebar-label,.section-eyebrow,.right-title,.small-overline{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#ac785e}.sidebar-label{padding:10px 10px 18px;border-bottom:1px solid #f0dfd7;margin:0 8px 12px}.location-list{display:flex;flex-direction:column;gap:7px}.loc{display:flex;align-items:center;gap:12px;width:100%;background:transparent;text-align:left;border:1px solid transparent;border-radius:12px;padding:10px;color:#673946;min-height:67px;transition:background .18s,border .18s,transform .18s}.loc:hover{background:#fff4ee;transform:translateX(2px)}.loc.active{background:linear-gradient(105deg,#a35770,#73374e);box-shadow:0 7px 15px #a962793d;color:#fff}.loc-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#fff3ef;color:#9a526a;border:1px solid #f2dfd7;font-family:Georgia,serif;font-size:21px}.loc.active .loc-icon{color:#fff;background:#ffffff22;border-color:#ffffff4d}.loc-txt{min-width:0;flex:1}.loc-txt b{display:block;font-size:13px;font-weight:700;line-height:1.4}.loc-txt small{display:block;color:#ab8c8e;font-size:10.5px;margin-top:3px;white-space:nowrap}.loc.active .loc-txt small{color:#f8d9de}.loc-chevron{font-size:20px;color:#bf9289}.loc.active .loc-chevron{color:#fff}.sidebar-guide{margin:20px 6px 14px;border-radius:13px;padding:13px;background:linear-gradient(120deg,#fffbf2,#f8eee8);border:1px solid #f0e0ce;display:flex;gap:10px}.sidebar-guide-icon{color:#c08e63;font-size:22px}.sidebar-guide b{font-size:11px;color:#724653}.sidebar-guide p{color:#927b7f;font-size:10.5px;line-height:1.75;margin:5px 0 0}.sidebar-guide kbd{border:1px solid #e3cbc7;color:#8a485c;background:#fff;padding:2px 4px;font-weight:700;border-radius:3px;margin-left:2px}.sidebar-cta{position:relative;margin:14px 6px;border-radius:14px;padding:19px 16px;background:radial-gradient(ellipse at right top,#fff8df 0,transparent 57%),linear-gradient(145deg,#fbe7e3,#f8dbe6);border:1px solid #f1d6d3;text-align:center;overflow:hidden}.sidebar-cta>span{font-family:Georgia,serif;font-size:37px;color:#bf8f79}.sidebar-cta h3{font:600 20px var(--serif);color:#823f55;margin:3px 0}.sidebar-cta p{font-size:11px;line-height:1.6;color:#8e6971;margin:0 0 14px}.sidebar-cta button{width:100%;background:linear-gradient(90deg,#ab4565,#843249);border:1px solid #f2b5c1;color:#fff;border-radius:50px;padding:11px 8px;font-size:12px;font-weight:700;box-shadow:0 6px 16px #a14e6940}.sidebar-cta button span{margin-left:8px}.left-foot{display:block;padding:9px 10px;color:#a18a86;font-size:10px}.tiny-status{width:6px;height:6px;margin-right:5px}.main-stage{min-width:0}.stage-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:7px 3px 16px}.stage-heading h2{font:500 clamp(28px,2.3vw,38px) var(--serif);color:#513142;margin:5px 0 0}.stage-heading h2 em{color:#a75d75}.scene-top-right{display:flex;align-items:center;gap:8px}.scene-tag{white-space:nowrap;border:1px solid #f1e1d9;background:#fffaf8;border-radius:100px;padding:11px 14px;color:#b27d68;font-size:10px;font-weight:700;letter-spacing:.6px}.round-btn{border:1px solid #efdfd5;width:38px;height:38px;border-radius:13px;color:#905168;background:#fffaf8;box-shadow:0 3px 9px #9d6d6120;font-size:20px}.round-btn:hover{background:#fcebea}.canvas-shell{position:relative;width:100%;height:clamp(390px,38vw,555px);border-radius:19px;overflow:hidden;background:#523543;border:5px solid #fff8f3;outline:1px solid #e9c6ae;box-shadow:0 14px 38px #8a637443,0 4px 0 #cc9c7b;isolation:isolate}.canvas-shell canvas{width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.canvas-shell:after{content:'';pointer-events:none;position:absolute;inset:0;border-radius:15px;box-shadow:inset 0 0 0 2px #ffffff33,inset 0 -40px 90px #27132044}.scene-overlay-top{position:absolute;top:17px;left:17px;right:17px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.fake-signal,#roomLabel{background:#3d263dcc;border:1px solid #e2c39c83;color:#fff2df;border-radius:8px;font-size:10px;font-weight:800;letter-spacing:1.1px;padding:10px 13px;box-shadow:0 4px 10px #0003}.fake-signal i{margin-right:7px}.scene-annotation{position:absolute;left:50%;top:17%;transform:translateX(-50%);pointer-events:none;background:#503247db;color:#ffede3;border:1px solid #cf9f8e77;border-radius:40px;padding:8px 15px;font-size:10px;font-weight:700;white-space:nowrap;max-width:85%;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 17px #0004}.scene-annotation span{color:#cfaf8d;margin:0 4px}.lower-hud{position:absolute;bottom:14px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;color:#fff7e8;font-size:10px;gap:10px}.lower-hud span{background:#432b3bcd;border:1px solid #c6a28265;border-radius:10px;padding:11px 14px;letter-spacing:.3px}.lower-hud .hint{font-size:9px;letter-spacing:1.4px}.mobile-dpad{display:none;position:absolute;bottom:56px;right:15px;z-index:5}.mobile-dpad button{border:1px solid #fff7;background:#4e314b99;color:#fff;width:42px;height:42px;border-radius:10px}.mobile-dpad>button{display:block;margin:auto}.mobile-dpad>div{display:flex;gap:6px;margin-top:5px}.action-caption{display:flex;align-items:center;gap:15px;justify-content:center;text-align:center;margin:22px 0 13px;font-family:var(--serif);font-size:15px;letter-spacing:1px;color:#8e4760}.action-caption:before,.action-caption:after{content:'';height:1px;background:linear-gradient(90deg,transparent,#dec2a6);flex:1}.action-caption:after{transform:rotate(180deg)}.action-caption span{font-size:11px;color:#c2996f}.action-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.action-bar button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:120px;border:1px solid #ead6ce;border-radius:15px;background:linear-gradient(155deg,#fffdfb,#f7e6e3);box-shadow:0 4px 12px rgba(92,55,64,.07);overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}.action-bar button:after{content:'';position:absolute;left:8px;right:8px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#caa57d,transparent);opacity:.6}.action-bar button:hover{transform:translateY(-5px);border-color:#d6ad9b;box-shadow:0 9px 21px #aa6b7540}.action-emoji{display:grid;place-items:center;font-size:34px;width:57px;height:57px;border-radius:50%;background:#fff4ef;box-shadow:inset 0 0 0 1px #f0ded6}.action-bar b{font-size:12px;color:#71404f}.action-bar small{font-size:9px;color:#af9291}.stage-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:13px 4px 0;font-size:10px;color:#b48b8f}.stage-footer button{background:transparent;color:#91435a;font-weight:800;font-size:10px;letter-spacing:1px}.right-sidebar{display:flex;flex-direction:column;gap:11px}.right-card{border:1px solid #eadad5;border-radius:17px;background:rgba(255,255,255,.85);box-shadow:var(--shadow);padding:17px 17px}.right-title{color:#9d5a6d;font-size:10px;letter-spacing:.8px}.event-card{background:radial-gradient(circle at 95% 0,#fce3e0,transparent 52%),#fffbf8;text-align:center}.event-couple{font:600 28px var(--serif);color:#783d52;margin:12px 0 0}.event-separator{color:#caa481;font-size:18px;margin:6px 0}.event-card p{font-size:11px;color:#806b70;margin:7px 0}.event-welcome{font-size:10px;line-height:1.55;color:#a58080;border-top:1px solid #f0dfd9;margin-top:13px;padding-top:10px}.profile-heading{display:flex;align-items:center;justify-content:space-between}.profile-heading button{border-radius:8px;padding:3px 7px;background:#faeee9;color:#8f5262}.guest-profile{display:flex;gap:14px;align-items:center;margin-top:12px}.portrait-wrap{width:58px;height:64px;border-radius:14px;background:radial-gradient(circle at 40% 20%,#fff2e6,#e9b5bc);border:1px solid #e1c5bb;display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 2px 8px #fff9}.avatar-portrait{font-size:34px}.guest-profile strong{font-size:14px;color:#753d50;display:block}.guest-class{font-size:9px;color:#ab8d8c;letter-spacing:.5px;margin:4px 0}.guest-badge{font-size:9px;color:#99643e;font-weight:700}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.stat-grid>div{border:1px solid #f0e3dc;border-radius:11px;background:linear-gradient(160deg,#fffbf8,#faeee9);padding:12px 10px}.stat-grid span{font-size:9px;color:#aa9291;font-weight:700;display:block}.stat-grid b{font:600 27px var(--serif);color:#8a3e59;display:block;margin-top:3px}.right-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.right-heading h3{font:500 19px var(--serif);color:#713b51;margin:5px 0 0;line-height:1.22}.realtime{padding:6px 8px;border:1px solid #f0b3bd;border-radius:100px;color:#c14e68;background:#fff7f7;font-size:10px;font-weight:800}.timeline{margin-top:12px;max-height:175px;overflow-y:auto;padding-right:3px}.timeline-item{display:flex;align-items:flex-start;gap:9px;padding:10px 3px;border-bottom:1px solid #f6e8df}.timeline-emoji{font-size:18px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f9eee9;flex:0 0 auto}.timeline-copy b{font-size:10px;color:#6f4c59;line-height:1.3;display:block}.timeline-copy p{font-size:10px;color:#9b8185;margin:3px 0}.timeline-copy time{font-size:9px;color:#bba5a3}.empty-stream{font-size:11px;color:#a6928d;text-align:center;line-height:1.8;padding:19px 8px}.progress-card{background:linear-gradient(155deg,#fdf8f2,#f8e9e5)}.progress-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#795360;gap:5px;margin:12px 0}.progress-title span{color:#9c5670;font-weight:800}.progress{height:7px;border-radius:20px;background:#e9d8d3;overflow:hidden}.progress span{height:100%;width:0;display:block;background:linear-gradient(90deg,#d99b77,#983d5b);border-radius:20px;transition:width .3s}.progress-card small{display:block;font-size:10px;color:#a48d8b;margin-top:10px}.share-btn{width:100%;border-radius:13px;background:linear-gradient(110deg,#b2526e,#733048);color:#fff;min-height:50px;box-shadow:0 8px 15px #974e6940;font-size:12px;font-weight:800}.share-btn span{margin-left:10px}.dco-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 29px 23px;max-width:1920px;margin:auto;color:#a3888b;font-size:10px}.dco-footer span:first-child{color:#8b5064;font-weight:800}
/* overlays and forms */
[hidden]{display:none!important}.overlay{position:fixed;inset:0;z-index:99999;background:#2e2031bb;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.join-dialog{display:grid;grid-template-columns:minmax(300px,43%) minmax(370px,57%);max-width:910px;width:100%;max-height:calc(100vh - 36px);background:#fffcf9;border-radius:22px;overflow:auto;box-shadow:0 30px 90px #180d27aa;border:1px solid #e5cabc}.join-art{position:relative;background:radial-gradient(circle at 55% 50%,#b16f83,#642d44 65%,#3e2035);color:#fff7ec;min-height:600px;padding:38px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;text-align:center}.join-art:before{content:'';position:absolute;inset:36px 24px;border:1px solid #d5a9868f;border-radius:180px 180px 10px 10px;pointer-events:none}.join-art:after{content:'';width:280px;height:280px;position:absolute;top:60px;border:2px solid #cfa47f45;border-radius:50%}.join-art-symbol{font-size:70px;color:#eac5be;position:absolute;top:21px;left:37px;opacity:.7}.join-overline{font-size:11px;letter-spacing:2.7px;color:#a9777d;font-weight:800}.join-art .join-overline{color:#efcaaf;z-index:1}.arch-art{z-index:1;margin:70px 0;font:17px Georgia,serif;letter-spacing:4px;line-height:1.6}.arch-art i{font-size:12px;letter-spacing:3px}.arch-art strong{display:block;font:500 49px var(--serif);letter-spacing:0;margin-top:20px}.ring-art{display:block;font-size:48px;color:#e6c8ad;margin-top:25px}.join-art-bottom{font-size:10px;letter-spacing:3px;color:#eac7ad;z-index:1}.join-form{padding:42px clamp(25px,4vw,58px);display:flex;flex-direction:column;justify-content:center}.join-form h2,.modal h2{font:500 clamp(30px,3vw,43px) var(--serif);line-height:1.2;color:#6d374d;margin:12px 0}.join-form h2 em{color:#af7280}.join-form>p,.modal>p{font-size:13px;color:#978085;line-height:1.7;margin:4px 0 20px}.join-form label{color:#946b68;letter-spacing:1.3px;font-size:10px;font-weight:800;margin:13px 0 9px}.join-form input,.join-form select,.modal textarea{width:100%;padding:13px 15px;border:1px solid #ead8d1;background:#fffaf8;color:#61384a;border-radius:10px;outline:none}.join-form input:focus,.join-form select:focus,.modal textarea:focus{border-color:#b66e88;box-shadow:0 0 0 3px #b66e8820}.outfits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.outfits button{border:1px solid #ead9d2;background:#fff8f5;border-radius:11px;min-height:93px;padding:9px 4px;color:#835465}.outfits button.selected{background:linear-gradient(145deg,#fae6e7,#fffbf7);border-color:#a85f78;box-shadow:0 0 0 2px #bb829c28}.outfit-figure{display:block;font-size:33px;margin-bottom:6px}.outfits b{font-size:10px}.enter-btn{width:100%;margin-top:21px;min-height:53px;padding:14px 18px;background:linear-gradient(100deg,#b26078,#73364e);color:#fff;border:1px solid #c98f9f;border-radius:11px;font-size:12px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;box-shadow:0 7px 18px #9a597244}.join-form>small{font-size:10px;color:#ae9a96;line-height:1.6;text-align:center;margin-top:13px}.modal{width:min(500px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #e8ccc2;border-radius:23px;padding:38px;background:radial-gradient(circle at top,#fff9f0,#fff8f6 55%,#fbede8);box-shadow:0 25px 80px #24142599;text-align:center;position:relative}.close-modal{position:absolute;right:16px;top:15px;width:35px;height:35px;border-radius:50%;background:#f4e7e2;color:#7f4359;font-size:23px}.modal-symbol{font-size:48px;color:#b87980}.modal h2{font-size:35px}.modal>p{margin:0 0 17px}.modal-notice{display:block;text-align:center;font-size:10px;color:#a18b88;margin-top:15px;line-height:1.6}.amount-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.amount-list button{padding:10px 4px;font-size:11px;border:1px solid #e1cac3;border-radius:10px;color:#9c5364;background:#fff}.amount-list button.selected{border-color:#a14a66;background:#fbe7ea;color:#75364f;font-weight:800}.modal textarea{height:130px;resize:vertical;text-align:left}.card-dialog{max-width:500px}.card-dialog canvas{display:block;width:min(295px,100%);height:auto;margin:14px auto;box-shadow:0 5px 26px #8e6b6a3d}.toast-message{position:fixed;z-index:100001;left:50%;bottom:22px;transform:translate(-50%,120px);background:#633049;color:#fff8f1;max-width:90%;padding:14px 22px;border-radius:14px;border:1px solid #d8a893;box-shadow:0 12px 24px #0004;font-size:12px;font-weight:700;transition:transform .25s;text-align:center;pointer-events:none}.toast-message.show{transform:translate(-50%,0)}.create-help{background:#faebea;padding:13px;border-radius:10px}
/* scalable layouts */
@media(max-width:1400px){.dco-grid{grid-template-columns:218px minmax(460px,1fr) 269px;gap:11px;padding:12px 11px}.left-sidebar{padding:14px 7px}.loc{gap:7px;padding:8px}.loc-icon{flex-basis:32px;height:33px}.loc-txt b{font-size:11.5px}.loc-txt small{font-size:9px}.right-card{padding:13px}.brand{min-width:200px}.brand b{font-size:21px}.header-nav a,.header-nav button{padding:10px 9px}.stage-heading h2{font-size:30px}.action-bar button{min-height:105px}.action-emoji{width:45px;height:45px;font-size:28px}}
@media(max-width:1080px){.dco-grid{grid-template-columns:205px minmax(450px,1fr)}.right-sidebar{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.right-sidebar .feed-card{grid-column:span 2}.right-sidebar .progress-card{grid-column:span 1}.right-sidebar .share-btn{grid-column:1/-1}.header-nav button:nth-last-child(-n+2){display:none}.canvas-shell{height:480px}.banner-flower{display:none}}
@media(max-width:780px){body.admin-bar .dco-header{top:46px}.dco-header{height:62px;padding:0 15px}.brand{min-width:0}.brand-logo{font-size:36px}.brand-logo span{font-size:27px;left:13px;top:6px}.brand b{font-size:18px}.brand small{font-size:7px;letter-spacing:1px}.header-nav{display:none}.online-badge{padding:8px;font-size:10px}.header-share{padding:8px 10px}.header-share span{display:none}.wedding-banner{height:120px}.wedding-banner h1{font-size:39px}.banner-eyebrow{font-size:9px}.dco-grid{display:flex;flex-direction:column;padding:12px;gap:12px}.main-stage{order:1;width:100%}.left-sidebar{order:2;width:100%;min-height:unset}.right-sidebar{order:3;width:100%;display:grid;grid-template-columns:1fr 1fr}.right-sidebar .feed-card{grid-column:1/-1}.right-sidebar .progress-card{grid-column:1/-1}.right-sidebar .share-btn{grid-column:1/-1}.stage-heading h2{font-size:29px}.scene-tag{font-size:0;padding:10px}.scene-tag:first-letter{font-size:18px}.canvas-shell{height:clamp(320px,72vw,510px)}.action-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.action-bar button{min-height:95px}.action-emoji{font-size:26px;width:41px;height:41px}.action-bar small{display:none}.location-list{display:grid;grid-template-columns:1fr 1fr}.left-sidebar{padding:14px}.sidebar-guide,.sidebar-cta{max-width:100%}.mobile-dpad{display:block}.lower-hud .hint{display:none}.scene-annotation{font-size:9px;top:18%}.join-dialog{grid-template-columns:1fr;max-width:475px}.join-art{min-height:160px;padding:14px}.join-art:before,.join-art:after,.join-art-symbol,.arch-art,.join-art-bottom{display:none}.join-art .join-overline{font-size:13px}.join-form{padding:25px}.join-form h2{font-size:33px}.dco-footer{flex-direction:column;gap:5px;text-align:center}}
@media(max-width:490px){.brand b{font-size:16px}.brand small{display:none}.online-badge{font-size:0}.online-badge span{font-size:12px}.wedding-banner h1{font-size:31px}.banner-eyebrow{letter-spacing:2px}.scene-top-right{gap:5px}.scene-tag{display:none}.stage-heading h2{font-size:24px}.canvas-shell{height:340px;border-width:3px}.scene-overlay-top{top:9px;left:8px;right:8px}.fake-signal,#roomLabel{font-size:8px;padding:7px}.scene-annotation{max-width:89%;font-size:8px;top:24%}.lower-hud{bottom:10px;left:9px}.lower-hud span{padding:8px;font-size:8px}.action-bar{gap:6px}.action-bar button{min-height:87px}.action-bar b{font-size:10px}.right-sidebar{grid-template-columns:1fr}.right-sidebar>*{grid-column:1/-1}.location-list{grid-template-columns:1fr 1fr}.loc{min-height:58px;padding:7px}.loc-icon{flex-basis:28px;height:29px;font-size:16px}.loc-chevron{display:none}.loc-txt b{font-size:10px}.loc-txt small{font-size:8px}.modal{padding:25px 18px}.modal h2{font-size:29px}.amount-list{grid-template-columns:1fr 1fr}.outfits b{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Character portrait art: original vector illustrations, no emoji placeholders. */
.avatar-portrait{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:11px}.avatar-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.outfit-figure{height:70px;display:flex;align-items:center;justify-content:center;margin:0 0 5px}.outfit-figure img{height:75px;max-width:100%;width:auto;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(96,51,66,.14))}.outfits button{min-height:120px}.outfits b{display:block;line-height:1.2}

/* ===== WEDDING WORLD v4 — fullscreen visual overhaul ===== */
:root{--wine:#843451;--wine2:#b95572;--gold:#d5a66a;--paper:#fff9f6;--border:#f4dacb;--shadow:0 8px 26px rgba(149,71,87,.11)}
html{margin-top:0!important;overflow-x:hidden;scroll-behavior:smooth}
body,body.admin-bar{margin-top:0!important;padding-top:0!important;background:#f9e5e2;color:#582d3d}
body.home #wpadminbar{display:none!important}
.dco-app{width:100%;max-width:none;min-height:100vh;overflow:hidden;background:
radial-gradient(ellipse at 0 96%,rgba(246,180,191,.49) 0,transparent 24%),
radial-gradient(ellipse at 100% 6%,rgba(255,231,196,.62) 0,transparent 28%),
linear-gradient(125deg,#fae3e6 0%,#fff4ef 43%,#f9dedc 100%)}
.dco-header{position:relative;z-index:4;height:118px;box-shadow:none;padding:0 clamp(14px,2.5vw,42px);border-bottom:1px solid rgba(215,168,149,.27);background:
radial-gradient(ellipse at 52% -12%,#fffdf8 3%,transparent 70%),
radial-gradient(ellipse at 15% 85%,#f6cfd6 0%,transparent 29%),
radial-gradient(ellipse at 88% 87%,#f4d1cf 0%,transparent 30%),
linear-gradient(110deg,#f6d6d8,#fff9ef 49%,#f5d4d8);color:#742e43}
.dco-header:before,.dco-header:after{content:'✿ ❀ ✿';position:absolute;top:18px;left:34%;font:42px Georgia,serif;letter-spacing:9px;color:#dfa29e;opacity:.52;pointer-events:none;transform:rotate(-11deg)}
.dco-header:after{left:auto;right:20%;transform:rotate(12deg)}
.dco-header .brand{z-index:1;min-width:234px;gap:10px}
.dco-header .brand-logo{width:53px;height:53px;border:1px solid #eabca7;border-radius:16px;background:linear-gradient(140deg,#b56078,#6e2846);color:#ffe1a1;box-shadow:0 3px 10px #98445b3d;display:grid;place-items:center;font:34px Georgia,serif}
.dco-header .brand b{font-family:var(--serif);font-size:23px;color:#722e45;letter-spacing:.1px}
.dco-header .brand small{color:#9a6f6b;font-size:9px;letter-spacing:1.15px}
.header-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;min-width:290px;max-width:42%;z-index:2;white-space:nowrap}
.header-eyebrow{color:#a2675b;font-weight:700;font-size:10px;letter-spacing:4.1px}
.header-center h1{font:500 clamp(32px,3.5vw,55px)/.95 var(--serif);margin:7px 0 8px;color:#802b45;text-shadow:0 2px 1px #fff8}
.header-center h1 em{color:#c99262;font-weight:400;font-size:.75em}
.header-center .banner-date{font-size:12px;letter-spacing:3px;color:#aa6548}
.dco-header .header-end{z-index:2;min-width:264px;gap:8px}
.dco-header .online-badge{display:flex;align-items:center;gap:7px;border:1px solid #ecc7b9;background:#fff8ee;color:#905569;padding:9px 11px;font-size:10px}
.dco-header .header-share,.dco-header .header-manage{color:#883a51;font-weight:700;background:#fffaf7;border:1px solid #edc9bb;border-radius:30px;padding:12px 15px;white-space:nowrap;box-shadow:0 5px 12px #9f65721f;font-size:11px}
.dco-header .header-share:hover,.dco-header .header-manage:hover{background:#f9e3e4;border-color:#e2a4ad}
.dco-grid{width:100%;max-width:none;display:grid;grid-template-columns:clamp(220px,17.2vw,286px) minmax(0,1fr) clamp(276px,20.6vw,340px);gap:14px;margin:0;padding:14px clamp(10px,1.12vw,22px) 10px;align-items:start}
.left-sidebar,.right-sidebar{min-width:0}.left-sidebar{min-height:0;background:linear-gradient(145deg,#fffcf8d9,#fff4f1d9);border:1px solid #fffdfb;border-radius:22px;box-shadow:0 8px 24px rgba(130,53,71,.12),inset 0 0 0 1px #f0c7bc;padding:15px 13px}
.sidebar-label{text-align:center;color:#87354e;font-size:11px;letter-spacing:1.3px;padding:14px 3px 18px;margin:0 7px 10px;border-bottom:1px solid #e9beaf}
.location-list{gap:4px}.loc{min-height:71px;padding:8px 10px;border-bottom:1px solid #f4d9d0;border-radius:13px;color:#773148;transition:all .2s}
.loc.active{background:linear-gradient(120deg,#be5d78,#7d2949);border:1px solid #d994a3;box-shadow:0 6px 16px #8e3d5933;color:#fff}
.loc:hover{background:#fff2ec}.loc.active:hover{background:linear-gradient(120deg,#c2657e,#8d3453)}
.loc-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px;color:#a94c66;background:linear-gradient(145deg,#fffdfa,#fae5d9);border:1px solid #f0cdbd;font-size:25px;box-shadow:0 4px 12px #8a516522}
.loc.active .loc-icon{background:#ffffff30;border-color:#fff7;color:white}
.loc-txt b{font-size:13px}.loc-txt small{font-size:10px;color:#ab7d7b;white-space:normal}
.loc-chevron{color:#a74e68}.sidebar-guide{display:none}.sidebar-cta{margin-top:10px;display:none}.left-foot{font-size:10px;padding:18px 8px 4px;color:#b2817c}
.main-stage{padding:0;min-width:0}.stage-heading{padding:4px 7px 9px;min-height:66px;display:flex;align-items:center}
.section-eyebrow{font-size:10px;letter-spacing:1.6px;color:#a76855}
.stage-heading h2{font:500 clamp(26px,2.8vw,40px)/1.15 var(--serif);margin:2px 0 0;color:#702f45}
.stage-heading h2 em{color:#ba6180}
.scene-tag{background:#fff8f2;border:1px solid #edd0bc;color:#a56d57;box-shadow:0 5px 12px #81535a22;font-size:10px}
.round-btn{border:1px solid #e9c4b5;color:#a04465;border-radius:15px;background:#fff9f5;box-shadow:0 4px 12px #73435118;font-weight:700}
.canvas-shell{width:100%;height:auto;aspect-ratio:967/506;background:#a65563;border:4px solid #fff9f4;border-radius:22px;outline:1px solid #e6b596;box-shadow:0 15px 30px #9b55633d,0 4px 0 #d29c89}
.canvas-shell:after{border-radius:17px;box-shadow:inset 0 0 0 1px #fff9,inset 0 -18px 40px #7a32531c}
.canvas-shell canvas{width:100%;height:100%;touch-action:none}
.fake-signal,#roomLabel{border:1px solid #f3c8aa;background:linear-gradient(120deg,#74304cde,#543041ef);box-shadow:0 3px 10px #3c122b55;color:#fff3e6;border-radius:30px;font-size:10px;padding:10px 13px;letter-spacing:.4px}
.scene-overlay-top{top:13px;left:13px;right:13px}
.scene-couple-title{position:absolute;left:50%;top:12.5%;transform:translate(-50%,-50%);min-width:146px;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffeacb;background:linear-gradient(90deg,rgba(102,50,62,.97),rgba(115,57,67,.98));border:1px solid #e4b88c;border-radius:30px;padding:5px 15px;font:500 clamp(13px,1.7vw,23px)/1.1 var(--serif);text-shadow:0 1px 3px #552;pointer-events:none;text-align:center;z-index:2;box-shadow:0 5px 15px #4e1e3344}
.scene-annotation{display:none}
.lower-hud{bottom:12px;left:13px;right:13px}.lower-hud span{background:#682b47da;border:1px solid #e5b998;color:#ffead9;border-radius:30px}
.action-caption{margin:13px 0 7px;font-size:17px;color:#894254;letter-spacing:.2px}
.action-bar{padding:10px 8px;gap:8px;background:#fff9f1dc;border:1px solid #ffffff;box-shadow:0 7px 21px #a75e6c2c,inset 0 0 0 1px #edcebc;border-radius:20px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.action-bar button{min-width:0;min-height:94px;border:1px solid #ecd1c2;border-radius:17px;background:linear-gradient(165deg,#fffaf3,#fbe8e7);box-shadow:0 3px 8px #ac748a18;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 2px;color:#82334b}
.action-bar button:hover{background:linear-gradient(160deg,#fffbf8,#f9d2db);transform:translateY(-3px);border-color:#dfaab6}
.action-bar b{font-size:11px}.action-bar small{font-size:9px;color:#a26e76}.action-emoji{font-size:27px;line-height:1.1;display:grid;place-items:center}
.stage-footer{padding:12px 5px 3px;color:#a87c77}
.right-sidebar{display:flex;flex-direction:column;gap:10px}
.right-card{background:linear-gradient(140deg,#fffaf7ed,#fff1edec);border:1px solid #fffdf9;border-radius:19px;box-shadow:0 5px 18px #8c455e21,inset 0 0 0 1px #efd0c2;padding:14px 15px}
.right-title{color:#963e54;letter-spacing:1.1px;font-size:10px}.event-card{text-align:center;padding:17px 13px 15px;background:radial-gradient(ellipse at 50% 0,#ffe4e6,#fff7f1 75%)}
.event-card .event-couple{font-size:clamp(26px,2.2vw,36px);color:#883c52}.event-card p{color:#965664;font-size:11px}.event-welcome{border-top:1px solid #efd8cb;color:#9f7273;font-size:11px}.event-separator{color:#d4a168}
.guest-card{padding:13px 15px}.guest-profile{gap:13px}.portrait-wrap{border-radius:16px;background:#fff2ec;border:1px solid #e8cab7}.guest-profile strong{color:#793649}
.stat-grid{gap:7px}.stat-grid>div{background:linear-gradient(125deg,#fff8f2,#fae7e7);border:1px solid #efd6cb;border-radius:12px;min-height:73px;padding:10px}.stat-grid span{font-size:9px;color:#ae7876}.stat-grid b{color:#8b3f55;font:600 25px var(--serif)}
.feed-card{padding:13px 14px}.right-heading h3{font:600 20px var(--serif);margin-top:6px;color:#79354e}.realtime{border:1px solid #f1cbb5;background:#fffaf5;border-radius:100px;color:#ad4e54}
.timeline{max-height:138px;overflow:auto}.timeline-item{border:1px solid #f3dfd7;background:#fff9f9;border-radius:11px;padding:10px}.timeline-copy b{font-size:11px}.timeline-copy p{font-size:10px}.progress-card{padding:14px 15px}.progress{background:#edd5d0}.progress span{background:linear-gradient(90deg,#d9a05f,#9d3b5a)}
.share-btn{background:linear-gradient(100deg,#cb6a77,#8f3555);color:white;border-radius:17px;border:1px solid #efb6ab;font-weight:700;box-shadow:0 7px 16px #9747633a;padding:17px;font-size:12px}
.dco-footer{margin-top:2px;background:transparent;border-top:1px solid #e7bfb9;color:#ae7882;font-size:10px;padding:10px clamp(12px,2vw,30px)}
/* Keep pop-ups readable above the full-bleed canvas */
.overlay{z-index:1000}.join-dialog{border:1px solid #efcbb7}.join-form{background:#fff9f4}
@media(max-width:1480px){
 .dco-grid{grid-template-columns:clamp(198px,17vw,242px) minmax(0,1fr) clamp(264px,22vw,310px);gap:10px;padding:10px}
 .dco-header{height:100px}.dco-header .brand b{font-size:19px}.dco-header .brand small{font-size:8px}.dco-header .brand-logo{width:44px;height:44px;font-size:29px}
 .header-center h1{font-size:42px}.dco-header .online-badge{display:none}
 .loc{min-height:62px}.loc-icon{height:37px;width:37px;flex-basis:37px;font-size:21px}.loc-txt b{font-size:11px}.loc-txt small{font-size:9px}
 .right-card{padding:11px}.right-card .right-title{font-size:9px}.right-sidebar{gap:8px}.stat-grid>div{min-height:64px}.stat-grid b{font-size:22px}
 .action-bar button{min-height:79px}.action-emoji{font-size:23px}.action-bar small{display:none}
}
@media(max-width:1080px){
 .dco-grid{grid-template-columns:194px minmax(0,1fr);gap:12px}
 .right-sidebar{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
 .right-sidebar .feed-card{grid-column:span 2}.right-sidebar .progress-card{grid-column:span 1}.right-sidebar .share-btn{grid-column:1/-1}
 .header-end .header-manage{display:none}.header-center{max-width:50%}.dco-header:before,.dco-header:after{display:none}
 .action-bar{grid-template-columns:repeat(7,minmax(0,1fr))}
}
@media(max-width:780px){
 .dco-header{height:102px;padding:10px 13px;align-items:flex-start}
 .dco-header .brand{min-width:0;gap:5px}.dco-header .brand-logo{width:36px;height:36px;border-radius:10px;font-size:23px}
 .dco-header .brand b{font-size:13px}.dco-header .brand small{display:none}.dco-header .header-end{min-width:0}.dco-header .header-share{padding:8px 9px;font-size:12px}.dco-header .header-share span{display:none}
 .header-center{top:68%;left:50%;min-width:200px;width:100%;max-width:74%}.header-center h1{font-size:31px;margin:1px 0 3px}.header-eyebrow{font-size:8px;letter-spacing:2px}.header-center .banner-date{font-size:8px}
 .dco-grid{display:flex;flex-direction:column;gap:10px;padding:10px}
 .main-stage{order:1;width:100%}.left-sidebar{order:2;width:100%}.right-sidebar{order:3;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .stage-heading{min-height:53px;padding:2px 4px 8px}.stage-heading h2{font-size:27px}.scene-tag{display:none}
 .canvas-shell{aspect-ratio:auto;height:clamp(300px,70vw,470px)}.scene-couple-title{font-size:14px;top:15%}
 .scene-overlay-top{top:9px;left:8px;right:8px}.fake-signal,#roomLabel{font-size:8px;padding:7px}
 .mobile-dpad{display:block}.lower-hud .hint{display:none}.action-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.action-bar button{min-height:79px}.action-bar .photo-extra{display:none}
 .location-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.left-sidebar{min-height:0}.left-foot{padding:9px}
 .right-sidebar .feed-card{grid-column:span 2}.right-sidebar .progress-card{grid-column:span 2}.right-sidebar .share-btn{grid-column:span 2}
}
@media(max-width:480px){
 .dco-header{height:96px}.header-center h1{font-size:29px}
 .stage-heading h2{font-size:23px}.canvas-shell{height:305px}
 .action-caption{font-size:13px;margin:9px 0 5px}.action-bar{padding:7px;gap:6px}.action-bar button{min-height:76px;padding:6px 1px}.action-bar b{font-size:9px}.action-emoji{font-size:24px}
 .right-sidebar{display:grid;grid-template-columns:1fr}.right-sidebar>*{grid-column:1/-1!important}.location-list{grid-template-columns:1fr 1fr}
 .scene-couple-title{top:16%;font-size:11px}.lower-hud{bottom:9px;left:8px}.lower-hud span{padding:7px;font-size:8px}
}

/* ================== V4.1 | SINGLE-VIEW WEDDING STUDIO ================== */
@media (min-width:1101px) {
 html, body { height:100%; max-height:100%; margin:0; overflow:hidden; }
 body.home { overflow:hidden !important; }
 body.home .dco-app { height:100dvh; min-height:0; overflow:hidden; display:grid; grid-template-rows:clamp(66px,8.4dvh,84px) minmax(0,1fr); }
 .dco-app > .dco-header { height:100%; min-height:0; padding-inline:clamp(12px,1.8vw,30px); }
 .dco-header .brand b { font-size:clamp(15px,1.4vw,22px); }
 .dco-header .brand small { font-size:8px; letter-spacing:1px; }
 .dco-header .brand-logo { width:42px; height:42px; font-size:27px; border-radius:13px; }
 .dco-header .header-center h1 { font-size:clamp(30px,3vw,47px); }
 .dco-header .header-eyebrow { font-size:9px; }
 .dco-header .header-end { gap:7px; min-width:0; }
 .dco-header .header-share, .dco-header .header-manage { padding:10px 12px; font-size:10px; }
 .dco-header .online-badge { display:none; }
 .dco-grid { width:100%; max-width:none; min-height:0; height:100%; overflow:hidden; align-items:stretch; grid-template-columns:clamp(188px,17vw,264px) minmax(0,1fr) clamp(246px,21vw,318px); gap:clamp(7px,.75vw,13px); padding:clamp(6px,.75vh,9px) clamp(7px,.75vw,13px); }
 .left-sidebar { min-height:0; height:100%; overflow:auto; scrollbar-width:thin; padding:10px 9px 8px; }
 .sidebar-label { padding:6px 8px 11px; margin:0 3px 5px; font-size:9px; }
 .location-list { gap:2px; }
 .loc { min-height:clamp(47px,7vh,61px); padding:6px 8px; gap:7px; }
 .loc-icon { width:33px; height:33px; flex-basis:33px; font-size:20px; border-radius:10px; }
 .loc-txt b { font-size:clamp(10px,.82vw,12px); }
 .loc-txt small { font-size:9px; margin-top:1px; }
 .sidebar-guide { margin:8px 4px 5px; padding:9px; }
 .sidebar-guide p { font-size:9px; line-height:1.5; }
 .sidebar-cta { margin:8px 4px; padding:10px 9px; }
 .sidebar-cta>span { font-size:18px; }
 .sidebar-cta h3 { font-size:16px; }
 .sidebar-cta p { font-size:9px; margin:3px 0 7px; line-height:1.4; }
 .sidebar-cta button { padding:8px; font-size:10px; }
 .left-foot { padding:5px 8px; font-size:9px; }
 .main-stage { display:grid; min-height:0; grid-template-rows: auto minmax(0,1fr) auto; gap:6px; overflow:hidden; }
 .stage-heading { min-height:0; height:clamp(43px,6vh,56px); padding:2px 6px; align-items:center; }
 .stage-heading h2 { font-size:clamp(21px,2vw,31px); margin:0; }
 .stage-heading .section-eyebrow { font-size:8px; }
 .scene-tag { padding:8px 10px; }
 .round-btn { width:33px; height:33px; font-size:17px; }
 .canvas-shell { width:100%; height:100%; min-height:0; max-height:none; aspect-ratio:auto; border-width:3px; border-radius:17px; }
 .canvas-shell canvas { width:100%; height:100%; }
 .action-caption { display:none; }
 .action-bar { padding:7px; gap:6px; grid-template-columns:repeat(7,minmax(0,1fr)); margin:0; }
 .action-bar button { min-height:clamp(66px,10.7vh,91px); border-radius:12px; gap:2px; padding:4px 1px; }
 .action-emoji { font-size:clamp(20px,2.8vh,27px); }
 .action-bar b { font-size:10px; }
 .action-bar small { display:none; }
 .stage-footer, .dco-footer { display:none; }
 .right-sidebar { min-height:0; height:100%; overflow-y:auto; scrollbar-width:thin; display:flex; flex-direction:column; gap:clamp(5px,.65vh,10px); padding-right:2px; }
 .right-card { flex:0 0 auto; padding:clamp(8px,1.2vh,13px); border-radius:16px; }
 .right-title { font-size:9px; }
 .event-card .event-couple { font-size:clamp(21px,2vw,31px); margin:2px 0; }
 .event-card p { margin:3px 0; font-size:10px; }
 .event-welcome { padding-top:6px; margin-top:6px; font-size:9px; }
 .guest-profile { gap:8px; }
 .guest-card .portrait-wrap { width:48px; height:48px; }
 .guest-profile strong { font-size:12px; }
 .stats-card .stat-grid { gap:4px; }
 .stat-grid > div { min-height:54px; padding:6px 8px; }
 .stat-grid span { font-size:8px; }
 .stat-grid b { font-size:19px; }
 .feed-card { flex:1 1 auto; min-height:112px; overflow:hidden; display:flex; flex-direction:column; }
 .feed-card .right-heading h3 { font-size:17px; margin:3px 0; }
 .timeline { flex:1 1 auto; max-height:none; min-height:0; overflow-y:auto; }
 .timeline-item { padding:7px; }
 .progress-card { padding:8px 11px; }
 .progress-card .right-title { margin-bottom:4px; }
 .progress-card small { font-size:9px; }
 .share-btn { padding:11px; flex:0 0 auto; }
 .stream-guide-btn { background:#fff8ee; color:#8d3953; border:1px solid #e8bbaa; padding:8px 10px; font-size:10px; font-weight:700; border-radius:999px; }
}
@media (min-width:1101px) and (max-height:720px) {
 .left-sidebar .sidebar-cta { display:none; }
 .sidebar-guide { margin:6px 3px; }
 .right-sidebar .progress-card { display:none; }
 .dco-app .dco-header { box-shadow:0 2px 8px #84516b15; }
 .right-card { padding:7px; }
 .stat-grid > div { min-height:46px; }
}
@media (max-width:1100px) { html, body {height:auto;overflow-x:hidden;overflow-y:auto} .dco-app{height:auto;min-height:100dvh;overflow:visible} .stream-guide-btn{background:#fff8ee;color:#8d3953;border:1px solid #e8bbaa;padding:9px;border-radius:999px;font-size:11px} }
/* Creator and stream setup dialogs */
.create-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.create-fields label{font-size:10px;color:#8a5264;font-weight:700;display:flex;flex-direction:column;gap:5px}.create-fields label input,.create-fields label select{font:inherit;border:1px solid #e9c6b8;border-radius:9px;padding:10px;background:#fffbf9;color:#642e49;min-width:0}.create-fields .wide{grid-column:1/-1}.create-dialog{max-width:520px;max-height:min(90dvh,790px);overflow-y:auto}.stream-help{margin:12px 0;padding:11px 12px;background:#fff5ee;border:1px solid #f1d7ca;border-radius:11px;font-size:11px;line-height:1.6;color:#8b5367}.stream-token{width:100%;min-height:52px;border-radius:9px;border:1px solid #dec3b7;background:#fff;color:#63344a;padding:9px;font-size:11px;overflow-wrap:anywhere}.stream-status{display:flex;align-items:center;gap:8px;margin:7px 0;color:#9d5168;font-size:10px;font-weight:700}.stream-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#dfac5b}.stream-status.connected i{background:#3dbf8d}.live-guests-count{font-size:9px;color:#97536a}.stream-small{font-size:10px;color:#9c6473;line-height:1.5}.stream-examples{white-space:normal;overflow-wrap:anywhere;font-size:11px;border-radius:10px;border:1px solid #e9d0c9;padding:12px;background:#fffaf7;color:#7a4558}.stream-button{padding:9px 12px;border:1px solid #e8bdba;border-radius:9px;color:#8c435b;background:#fff7f4;font-size:11px;font-weight:700}.join-form h2{margin-bottom:8px}
@media(max-width:490px){.create-fields{grid-template-columns:1fr}.create-fields .wide{grid-column:auto}.stream-guide-btn{font-size:0!important}.stream-guide-btn::first-letter{font-size:16px}}

/* Dedicated clean Browser Source for OBS / TikTok Live Studio (view=live). */
html:has(body.dco-stream-view), body.dco-stream-view { width:100%;height:100%;max-height:100%;overflow:hidden!important; margin:0;padding:0; }
body.dco-stream-view .dco-app { height:100dvh!important;min-height:0!important;display:block!important;overflow:hidden!important;padding:0!important;margin:0!important; }
body.dco-stream-view .dco-header, body.dco-stream-view .left-sidebar,body.dco-stream-view .right-sidebar,body.dco-stream-view .stage-heading,body.dco-stream-view .action-caption,body.dco-stream-view .action-bar,body.dco-stream-view .stage-footer,body.dco-stream-view .dco-footer,body.dco-stream-view .mobile-dpad,body.dco-stream-view .hint {display:none!important}
body.dco-stream-view .dco-grid{display:block!important;width:100vw!important;height:100dvh!important;min-height:0!important;max-width:none!important;padding:0!important;margin:0!important;overflow:hidden!important}
body.dco-stream-view .main-stage{display:block!important;width:100vw!important;height:100dvh!important;min-height:0!important;overflow:hidden!important}
body.dco-stream-view .canvas-shell{display:block!important;position:relative!important;width:100vw!important;height:100dvh!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;overflow:hidden!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important}
body.dco-stream-view .scene-couple-title{font-size:clamp(18px,3vw,35px);top:18%}
body.dco-stream-view .scene-annotation{top:12%}
body.dco-stream-view .lower-hud{display:none}
body.dco-stream-view #joinOverlay{display:none!important}
body.dco-stream-view .scene-overlay-top{z-index:3}
@media(max-aspect-ratio:3/4){body.dco-stream-view .scene-couple-title{max-width:83%;font-size:clamp(13px,5.3vw,29px);top:10%}body.dco-stream-view .fake-signal{max-width:68%;font-size:8px;letter-spacing:0}body.dco-stream-view #roomLabel{font-size:8px;letter-spacing:0}body.dco-stream-view .scene-annotation{max-width:85%;top:15%;font-size:8px}}

/* V4.2: strict viewport budgeting and legible movement hint. */
@media (min-width:1101px){
 body.home,body.home .dco-app{overscroll-behavior:none}
 body.home .main-stage{grid-template-rows:minmax(40px,auto) minmax(0,1fr) clamp(71px,9.7dvh,87px)!important;gap:5px!important}
 body.home .action-bar{min-height:0!important;height:100%!important;max-height:100%!important;padding:5px!important;grid-auto-rows:minmax(0,1fr)!important;overflow:hidden}
 body.home .action-bar button{height:100%!important;min-height:0!important;padding:4px 2px!important;overflow:hidden;gap:2px!important}
 body.home .action-emoji{font-size:clamp(19px,2.6dvh,24px)!important;line-height:1.1}
 body.home .action-bar b{font-size:clamp(9px,.68vw,11px);line-height:1.15}
 body.home .canvas-shell{min-height:0!important;max-height:none!important;height:100%!important}
 body.home .stage-heading{height:auto!important;min-height:39px!important;padding:0 4px!important}
 body.home .dco-grid{min-height:0!important;overflow:hidden!important}
}
@media (min-width:1101px) and (max-height:650px){body.home .right-sidebar .progress-card,body.home .left-sidebar .sidebar-cta{display:none}}

/* ====================== V5 WEBGL WORLD ====================== */
.canvas-shell{position:relative;overflow:hidden;contain:layout paint;}
.canvas-shell .dco-webgl{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none;touch-action:none;background:#483543;}
.canvas-shell:not(.dco-3d-enabled) .dco-webgl{display:none}
.canvas-shell.dco-3d-enabled #scene{position:absolute;inset:0;opacity:0;pointer-events:auto;z-index:2}
.canvas-shell:not(.dco-3d-enabled) #scene{position:relative;z-index:1}
.canvas-shell .scene-overlay-top,.canvas-shell .scene-couple-title,.canvas-shell .lower-hud,.canvas-shell .mobile-dpad{z-index:5}
.canvas-shell .dco-name-layer{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.dco-name-label{position:absolute;left:0;top:0;padding:5px 9px;border-radius:100px;color:#fff5eb;font-size:11px;line-height:1.2;font-weight:700;white-space:nowrap;letter-spacing:.1px;background:#50314cd9;border:1px solid #e8c396a0;box-shadow:0 4px 15px #34203c60;will-change:transform}
.dco-name-label.me{background:#843c59ed;color:#fff9ed;border:1px solid #ffdf9f}
.dco-name-label.live{background:#4c2d68db;border-color:#cfa9efb5}
.clock-utc7{border:1px solid #eed4c9;background:#fff7ef;border-radius:50px;padding:7px 10px;white-space:nowrap;font-size:10px;color:#8b4353;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.1px}
.camera-3d-btn{font-size:10px;font-weight:800;color:#87475b;background:#fffaf5;border:1px solid #e7c5b4;border-radius:100px;padding:10px 12px;white-space:nowrap}
.camera-3d-btn:hover{background:#f9e9e2}
body.dco-stream-view .dco-name-label{font-size:clamp(9px,1.2vw,14px)}
@media(max-width:1540px){.clock-utc7{display:none}}
@media(max-width:1200px){.camera-3d-btn{font-size:0;padding:10px}.camera-3d-btn::first-letter{font-size:15px}}
@media(max-width:780px){.dco-name-label{font-size:8px;padding:4px 6px}.camera-3d-btn{font-size:0;padding:7px;border-radius:10px}.canvas-shell .dco-name-layer{font-size:8px}}

.event-card .event-clock{font-weight:800;color:#95576a;font-variant-numeric:tabular-nums;font-size:10px}
