/* Persian type is served locally, including its original SIL OFL licenses. */
@font-face{font-family:Estedad;src:url('./fonts/Estedad-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Lalezar;src:url('./fonts/Lalezar-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--font-body:Estedad,Tahoma,sans-serif;--font-display:Lalezar,Estedad,Tahoma,sans-serif;--ink:#3b293b;--muted:#756474;--purple:#87576d;--line:#e6dbe1}
body{font-family:var(--font-body);font-size:15px;line-height:2;font-weight:400;background:radial-gradient(ellipse at 100% 0%,#f7e9ee88,transparent 36%),#faf7f3;-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:var(--font-body)}
h1,h2,h3,.brand{font-family:var(--font-display);font-weight:400;letter-spacing:0;text-wrap:balance}
p{ text-wrap:pretty }button,a,input,textarea,select{touch-action:manipulation}button{font-weight:500}a:focus-visible,button:focus-visible{outline:3px solid #b17c9c;outline-offset:5px}
.topbar{background:#faf7f3f2;border-bottom-color:#eadfe5;height:100px}.brand{font-size:32px;line-height:1.3;gap:12px}.brand-icon{font-size:41px;color:#a66081}.brand small{font-family:var(--font-body);font-size:11px;font-weight:400;letter-spacing:0;margin-top:5px;color:#7c6778}nav{gap:27px;font-size:13px}nav a{padding:33px 0 29px;color:#796372;position:relative}nav .active{color:#8d496d;border-color:#a35d7e}nav .active:after{content:'';position:absolute;bottom:10px;left:50%;width:4px;height:4px;background:#ad718b;border-radius:50%}.settings{font-size:12px;border-radius:14px;padding:11px 15px}
.hero-label{font-family:var(--font-body);font-size:11px;letter-spacing:0;color:#9d6e86;direction:rtl}.intro{padding-top:59px;padding-bottom:33px}.intro .eyebrow{font-size:12px;color:#916d82;letter-spacing:0}.intro h1{font-size:clamp(39px,4.4vw,57px);line-height:1.5;margin:12px 0 4px}.intro h1 em{color:#a16486}.intro>div>p{font-size:14px;line-height:2;color:#786477}.together p{font-size:13px}.together small{font-size:11px;color:#806b7b}.eyebrow{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:0;color:#96677f}
.relationship{padding:28px 32px 31px;min-height:378px;box-shadow:0 16px 32px #4b2d4915}.relationship h2{font-size:47px;line-height:1.5;margin:10px 0 3px;letter-spacing:0}.relationship>p{font-size:14px;color:#ecdde8}.relationship .sky-caption{font-size:13px;color:#e2c8d7}.relationship .subtle{font-size:11px;min-height:37px;padding:7px 15px;color:#f1e2ee;background:#ffffff0b}.relationship-days b{font-family:var(--font-body);font-size:32px;font-weight:700;font-variant-numeric:tabular-nums}.relationship-days span{font-size:13px;color:#e6cede}.couple-orbit{height:77px}.couple-orbit b{font-family:var(--font-body);font-weight:400}.hero-decoration{opacity:.6}
.button{font-size:13px;font-weight:600;min-height:44px;padding:11px 22px;background:#885672;box-shadow:0 5px 12px #88567212}.button:hover{background:#75435f}.ghost{font-size:12px;min-height:42px;padding:9px 16px;color:#795266;border-color:#d7becd}.subtle,.text-button{font-size:12px}.text-button{min-height:38px;padding:6px 2px}.section-label{font-size:13px;color:#78566c}.section-heading{margin-bottom:24px;align-items:flex-end}.section-heading h2{font-size:36px;line-height:1.6;margin:5px 0 2px;letter-spacing:0}.section-heading p{font-size:13px;color:#7c677a;line-height:2}.section-heading .ghost{font-size:12px}.section-number{font-size:11px;color:#8d6c82;padding-bottom:7px}
.countdown h2{font-size:30px;line-height:1.6}.countdown>p{font-size:12px;color:#806b7e}.counter b{font-size:30px;font-weight:650;font-variant-numeric:tabular-nums}.counter small{font-size:11px;color:#806b7e}.counter .empty{font-size:13px;line-height:2.2;color:#806278;border:1px dashed #dfcbdc}.countdown-footer>span{font-size:11px;color:#86687d}.countdown-footer .button{font-size:12px;padding:10px 16px}.moment h2{font-size:29px;line-height:1.6}.moment p{font-size:13px;color:#816653;line-height:2}.moment .section-label{color:#8a644d}.moment .button.light{font-size:12px;color:#795c4a;background:#fffcf6b3}.cups{height:90px}
.room-bar{background:linear-gradient(120deg,#f2e7ec,#ede4ec);padding:24px;border-color:#e0ceda}.room-intro h2{font-size:25px;line-height:1.6}.room-intro p{font-size:12px;line-height:2;color:#79566f;max-width:460px}.room-hint{font-size:11px;color:#79596e;line-height:2.1;padding-top:12px;border-color:#decbd8}.room-actions{flex-wrap:wrap;gap:9px}.room-actions input{font-size:13px;width:125px;min-height:44px;border-color:#d8c5d3}.room-actions .button,.room-actions .ghost{font-size:12px;min-height:44px;padding:10px 16px}.room-symbol{background:#e3ccdc;color:#945f7e}.presence-chip{font-size:12px;color:#704e67;border:1px solid #e2d0dd;padding:6px 12px}.room-bar[data-state=online]{border-color:#bfd0bd;background:linear-gradient(110deg,#edf0e8,#efe7ed)}.room-bar[data-state=online] .room-symbol{background:#dce6d6;color:#567550}.room-bar[data-state=offline]{border-color:#d4ae95}.room-bar[data-state=offline] .room-symbol{background:#ead6c6;color:#a27151}
.game-card{padding:29px;border-color:#e3d5e0;background:#fffcf9;box-shadow:0 5px 20px #58374905}.game-card-top{gap:12px}.game-card .tag{font-size:11px;color:#88667d;line-height:1.9}.mini-icon{font-family:var(--font-body);font-size:22px;color:#a16485;letter-spacing:3px}.game-card h3{font-size:33px;line-height:1.6;margin:15px 0 1px}.game-card>p{font-size:13px;line-height:2;color:#806177;min-height:28px}.game-footer small{font-size:11px;color:#82677e}.game-footer .ghost{font-size:12px;padding:7px 13px;min-height:40px}.ttt-board{width:min(264px,100%);gap:9px;margin:24px auto}.ttt-board button{height:78px;font-family:var(--font-body);font-weight:500;font-size:37px;border-radius:16px;background:#f6eef3;color:#a96084;border-color:#e8d6e3}.ttt-board button.mark-o{color:#4d796c;background:#e9f1e9;border-color:#d3e0d0}.rps-card{background:linear-gradient(120deg,#edf1e7,#e9efe4);border-color:#d5dfce}.rps-card .tag,.rps-card>p{color:#61745f}.rps-options{margin:37px 0 24px;gap:12px}.rps-options button{font-size:13px;font-weight:500;color:#536c52;width:90px;padding:20px 9px 16px;border-color:#cfddc7}.rps-options button span{font-size:39px;margin-bottom:10px}.rps-result{font-size:14px;line-height:2.1;min-height:82px;color:#4d6b50}.rps-card .game-footer small{color:#657861}
.question-strip{padding:25px;border-color:#dcc9df;background:linear-gradient(120deg,#efe4ef,#ede5f3)}.question-strip h3{font-size:23px;line-height:1.7}.question-strip p{font-size:12px;color:#7d5b83}.question-strip .button{font-size:12px;min-height:44px;background:#8a668f}.question-strip>div{padding-right:44px}.question-strip>div>span{color:#9c6aa0;top:7px}
#screen-empty h3{font-size:34px;line-height:1.8}#screen-empty>span{font-size:13px;color:#dbb2cc}#screen-empty p{font-size:14px;line-height:2;color:#d0afca}#screen-empty .screen-stars{font-size:19px}.cinema-orb{width:76px;height:76px;border-color:#d7aac677}.player-controls{gap:13px;padding:13px 22px}.player-controls button{min-width:36px;min-height:36px;font-size:14px;border-radius:9px;background:#ffffff05}.player-controls button:hover:enabled{background:#ffffff14}.player-controls #video-time{font-size:11px;color:#e4cddd;min-width:100px}.player-controls input{height:6px;min-height:6px}.cinema-badge{font-size:13px;color:#edc3de}.cinema-bottom p{font-size:12px;line-height:2;color:#c7a6c2}.cinema-bottom .ghost{font-size:12px;min-height:42px;border-color:#9d7394;color:#efcde3}.media-hint{font-size:12px;line-height:2.2;color:#80687b;margin-top:14px}
.activity h3{font-size:25px;line-height:1.6;margin:7px 0}.activity .tag{font-size:11px;color:#946d88}.activity p{font-size:12px;line-height:2.1;color:#7d6379;min-height:50px}.activity-link{font-size:12px;color:#925a7c}.activity-art{height:135px}.activity{padding:0 18px 20px;border-color:#e3d5df}.activity-art{margin:0 -18px 15px}.empty-text{font-size:13px;color:#886980;line-height:2.3}.plans{padding:20px 24px}.plan-row p{font-size:14px;font-weight:500}.plan-row small{font-size:12px;color:#836c7c}.plan-row button{font-size:12px;min-height:40px;padding:7px 13px}.note{padding:24px;border-color:#e8d2ce;min-height:180px;box-shadow:0 4px 14px #5c3e5605}.note p{font-size:14px;line-height:2.3;color:#62465a}.note-bottom{font-size:11px;color:#87687b}.note-bottom button{font-size:12px;min-height:36px}.note:nth-child(3n+2){border-color:#dfcde5}.note:nth-child(3n){border-color:#cfded1}.notes-section .button{font-size:12px}#note-list:has(>.empty-text){display:block;border:1px dashed #d9bfce;border-radius:20px;padding:28px;text-align:center;background:#f4eaef80}#note-list>.empty-text{margin:0}
footer .brand{font-size:27px;line-height:1.6;color:#895c78}footer p{font-size:13px;color:#82697b}footer small{font-size:11px;color:#846d7e;line-height:2.2}footer .text-button{font-size:12px;margin-top:12px;color:#835572}
dialog{max-height:calc(100dvh - 40px);overflow-y:auto;padding:29px;border-color:#ddcad9;box-shadow:0 30px 100px #35213844}.dialog-head h2{font-size:29px;line-height:1.6}dialog p,dialog small{font-size:12px;line-height:2.2;color:#806477}dialog label{font-size:13px;color:#705065;margin-top:17px}dialog input,dialog select,dialog textarea,#video-dialog input{font-size:14px;line-height:1.9;padding:11px 12px;min-height:46px}dialog .submit{font-size:13px;min-height:48px}.close{min-width:36px;min-height:36px}.question{font-family:var(--font-display);font-size:29px!important;color:#875675!important;line-height:2!important}.check-label input{min-height:16px;min-width:16px}#toast{font-size:13px;line-height:2;padding:13px 22px;background:#50334b;border-radius:14px}
@media(max-width:1000px){.topbar{padding-right:24px;padding-left:24px;gap:20px}nav{gap:19px;font-size:12px}.room-intro p{max-width:390px}.room-actions{flex:1;justify-content:flex-end}.game-card{padding:24px}.game-card .tag{font-size:10px}}
@media(max-width:760px){html{scroll-padding-top:125px}.topbar{height:auto;min-height:108px;padding:13px 18px 0;gap:0}.brand{font-size:29px}.brand small{font-size:10px}.brand-icon{font-size:35px}.settings{font-size:0;padding:7px 10px;min-height:39px}.topbar nav{font-size:12px;gap:12px;margin-top:6px}.topbar nav a{padding:9px 0 13px}.topbar nav .active:after{bottom:6px}.intro{padding:44px 0 26px}.hero-label{font-size:10px;top:18px}.intro .eyebrow{font-size:11px;line-height:2}.intro h1{font-size:40px;line-height:1.5;margin:12px 0 5px}.intro>div>p{font-size:12px;line-height:2.2}.relationship{min-height:366px;padding:22px 20px 27px}.relationship h2{font-size:39px;margin-top:12px}.relationship>p{font-size:12px;line-height:2.2}.relationship .sky-caption{font-size:11px;gap:8px}.relationship .subtle{font-size:10px;padding:7px 12px}.relationship-days span{font-size:12px}.relationship-days b{font-size:29px}.couple-orbit{height:73px}.section-heading h2{font-size:30px;line-height:1.6}.section-heading .eyebrow{font-size:10px}.section-heading p{font-size:12px}.section-number{font-size:10px;white-space:normal;min-width:60px;text-align:left}.section-heading .ghost{font-size:11px;padding:8px 12px}.countdown{padding:23px 21px}.countdown h2{font-size:28px}.countdown>p{font-size:12px}.counter{gap:8px}.counter b{font-size:27px}.counter small{font-size:11px}.countdown-footer{gap:10px}.countdown-footer>span{font-size:11px}.countdown-footer .button{font-size:11px}.moment h2{font-size:28px}.moment p{font-size:12px}.room-bar{padding:20px 18px}.room-intro{gap:11px}.room-intro h2{font-size:22px}.room-intro p{font-size:11px;line-height:2.1}.room-symbol{width:40px;height:40px}.room-actions{flex:auto;justify-content:flex-start;gap:8px}.room-actions input{font-size:12px;min-width:0;width:100px}.room-actions .button,.room-actions .ghost{font-size:11px;padding:10px 14px}.room-hint{font-size:10px}.game-card{padding:24px 20px}.game-card h3{font-size:31px}.game-card .tag{font-size:10px}.game-card>p{font-size:12px;line-height:2.2}.ttt-board{width:min(264px,100%)}.ttt-board button{height:75px}.game-footer small{font-size:10px}.game-footer .ghost{font-size:11px}.rps-options{gap:10px;margin:30px 0 22px}.rps-options button{width:80px;font-size:12px;padding:18px 8px 14px}.rps-result{font-size:13px;min-height:70px}.question-strip{padding:22px 19px}.question-strip h3{font-size:22px}.question-strip p{font-size:11px;line-height:2.2}.question-strip .button{font-size:11px;margin-right:44px}.screen-wrap{aspect-ratio:16/12}#screen-empty h3{font-size:27px;line-height:1.8}#screen-empty p{font-size:11px;max-width:270px;margin:5px auto}#screen-empty>span{font-size:11px}.cinema-orb{width:60px;height:60px}.player-controls{gap:5px;padding:10px 12px}.player-controls button{min-width:28px;min-height:34px;font-size:12px}.player-controls #video-time{font-size:9px;min-width:83px}.cinema-bottom{padding:20px 18px}.cinema-badge{font-size:12px}.cinema-bottom p{font-size:11px}.cinema-bottom .ghost{font-size:12px}.media-hint{font-size:11px;padding:0 5px}.activity h3{font-size:23px}.activity .tag{font-size:10px}.activity p{font-size:11px;min-height:70px}.activity-link{font-size:11px}.activity-art{height:110px}.notes-section .section-heading h2{font-size:28px}.notes-section .button{font-size:11px;padding:10px 15px}.note p{font-size:14px}.plan-row p{font-size:13px}.plan-row small{font-size:11px}footer small{font-size:10px}.dialog-head h2{font-size:26px}dialog{padding:23px;max-height:calc(100dvh - 28px)}dialog p,dialog small{font-size:11px}dialog label{font-size:12px}dialog input,dialog select,dialog textarea{font-size:14px}.form-grid{gap:0 12px}.question{font-size:27px!important}}
@media(max-width:400px){main{padding:0 14px}.topbar{padding-left:14px;padding-right:14px}.intro h1{font-size:35px}.section-heading{gap:10px}.section-heading h2{font-size:27px}.section-number{font-size:9px}.room-intro h2{font-size:20px}.room-actions input{flex-basis:100%;width:100%}.room-actions .button{flex:1}.player-controls{flex-wrap:wrap;gap:5px}.player-controls input{min-width:85px}.player-controls #video-time{font-size:9px;min-width:79px}.activity{padding-left:13px;padding-right:13px}.activity-art{margin-left:-13px;margin-right:-13px}.activity h3{font-size:21px}.activity p{font-size:10px}.activity-link{font-size:10px}.game-card .tag{font-size:9px}.game-footer small{max-width:140px}.notes-section .section-heading{align-items:flex-start;flex-wrap:wrap}}
