:root{
  --black:#090705;--ivory:#f6efe2;--champagne:#e8d2a2;--gold:#d9a441;--copper:#b86b3c;--muted:#a99a83;
  --line:rgba(246,239,226,.18);--panel:rgba(246,239,226,.07);
  --goldgrad:linear-gradient(135deg,#fff8e8 0%,#d9a441 35%,#f6efe2 55%,#b86b3c 82%);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--black);color:var(--ivory);font-family:Inter,Arial,sans-serif;overflow:hidden}
body{background:radial-gradient(circle at 50% -12%,rgba(217,164,65,.35),transparent 34%),radial-gradient(circle at 90% 28%,rgba(184,107,60,.18),transparent 30%),linear-gradient(180deg,#171007,#090705 50%,#020201)}
.grain{position:fixed;inset:0;opacity:.075;pointer-events:none;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)' opacity='.65'/%3E%3C/svg%3E")}
.sun-orb{position:fixed;width:380px;height:380px;top:-250px;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,236,176,.85),rgba(217,164,65,.15) 42%,transparent 70%);filter:blur(16px)}
.app{position:relative;height:100vh;max-width:540px;margin:0 auto;padding:20px}
.view{display:none;height:100%;overflow-y:auto;padding-bottom:34px;animation:viewIn .56s cubic-bezier(.2,.8,.2,1) both}
.view.active{display:block}
@keyframes viewIn{from{opacity:0;transform:translateY(22px) scale(.985);filter:blur(12px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.opening-bg{position:absolute;inset:-20px;background:linear-gradient(180deg,rgba(9,7,5,.05),rgba(9,7,5,.95)),radial-gradient(circle at 52% 10%,rgba(255,216,132,.34),transparent 33%),linear-gradient(135deg,rgba(184,107,60,.22),transparent 44%);animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.05) translateY(-14px)}}
.content{position:relative}.center{min-height:calc(100vh - 40px);display:flex;flex-direction:column;justify-content:center}
.mark{font-size:clamp(100px,28vw,158px);line-height:.76;letter-spacing:-.12em;background:var(--goldgrad);-webkit-background-clip:text;color:transparent;text-shadow:0 0 45px rgba(217,164,65,.26);animation:pulse 3.4s ease-in-out infinite}
@keyframes pulse{0%,100%{filter:brightness(.94);transform:scale(1)}50%{filter:brightness(1.22);transform:scale(1.025)}}
.kicker,.room-number,.destination span{margin:0;color:var(--champagne);font-size:11px;letter-spacing:.22em;text-transform:uppercase}
h1{margin:18px 0 10px;font-size:clamp(58px,17vw,94px);line-height:.86;letter-spacing:-.095em}
h2{margin:4px 0 0;font-size:clamp(38px,11vw,58px);line-height:.88;letter-spacing:-.075em}
h3{margin:8px 0;font-size:25px;line-height:1;letter-spacing:-.045em}
p{color:var(--muted);line-height:1.55}.subtitle{color:var(--ivory);letter-spacing:.18em;font-size:13px;margin-bottom:20px}.line{color:var(--ivory);font-size:18px;margin-bottom:30px}
button,input,a{font:inherit}button{cursor:pointer}
.primary{width:100%;border:1px solid rgba(246,239,226,.34);border-radius:999px;padding:16px 18px;color:var(--black);background:linear-gradient(135deg,var(--ivory),var(--champagne));letter-spacing:.12em;font-size:12px;font-weight:800;box-shadow:0 18px 58px rgba(217,164,65,.2)}
.sound-toggle,.back{border:1px solid var(--line);border-radius:999px;color:var(--ivory);background:rgba(9,7,5,.48);backdrop-filter:blur(16px)}
.sound-toggle{position:fixed;z-index:5;top:15px;right:15px;padding:10px 12px;font-size:11px;letter-spacing:.1em}.back{padding:10px 14px;min-width:52px}
.header,.room-header{padding-top:44px}.header{display:flex;gap:15px;align-items:flex-start}.manifesto{margin:28px 0;font-size:18px;color:var(--ivory)}
.destinations{display:grid;gap:14px}.destination{text-align:left;min-height:154px;padding:20px;border-radius:30px;border:1px solid var(--line);color:var(--ivory);background:linear-gradient(135deg,rgba(246,239,226,.13),rgba(246,239,226,.025)),var(--panel);box-shadow:0 24px 74px rgba(0,0,0,.28);position:relative;overflow:hidden}
.destination:after{content:"Ø";position:absolute;right:-24px;bottom:-52px;font-size:150px;opacity:.06;letter-spacing:-.1em}.destination strong{display:block;margin:14px 0 4px;font-size:40px;letter-spacing:-.075em}.destination small{display:block;color:var(--ivory);letter-spacing:.16em;font-size:12px;margin-bottom:8px}.destination em{color:var(--muted);font-style:normal}
.paris{background:linear-gradient(135deg,rgba(184,107,60,.24),rgba(246,239,226,.035)),var(--panel)}.oslo{background:linear-gradient(135deg,rgba(215,216,210,.18),rgba(246,239,226,.025)),var(--panel)}.capetown{background:linear-gradient(135deg,rgba(217,164,65,.28),rgba(184,107,60,.06)),var(--panel)}
.code-box,.panel,.secret-card,.note,.feature-card{border:1px solid var(--line);border-radius:30px;background:var(--panel);padding:20px;margin:18px 0}.code-box{margin-top:22px;border-style:dashed}.code-box input{width:100%;margin:12px 0 10px;border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(246,239,226,.055);color:var(--ivory);outline:none;letter-spacing:.08em}.code-box button{width:100%;border:1px solid var(--line);border-radius:18px;padding:12px;background:transparent;color:var(--ivory);letter-spacing:.12em;font-size:12px}.message{min-height:22px}
.role{color:var(--champagne);letter-spacing:.2em;font-size:12px;margin:10px 0 18px}.note{min-height:190px;display:flex;flex-direction:column;justify-content:flex-end}.note h3{font-size:28px}.note p:last-child{color:var(--ivory);font-size:22px}
.grid{display:grid;gap:13px;margin-top:20px}.grid article{min-height:138px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(246,239,226,.12),rgba(246,239,226,.025));padding:18px}.grid span{color:var(--champagne);font-size:12px}
.feature-card{display:grid;grid-template-columns:112px 1fr;gap:15px;align-items:center}.cover{aspect-ratio:1/1;border-radius:24px;background:linear-gradient(135deg,rgba(246,239,226,.25),rgba(246,239,226,.03)),radial-gradient(circle,rgba(217,164,65,.20),transparent 70%);display:grid;place-items:center;border:1px solid var(--line);font-size:66px;letter-spacing:-.12em}
.links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.links.one{grid-template-columns:1fr}.links a{color:var(--ivory);text-decoration:none;border:1px solid var(--line);border-radius:22px;padding:18px 12px;background:rgba(246,239,226,.045);text-align:center;font-size:12px;letter-spacing:.12em}
.secret-card{background:radial-gradient(circle at top,rgba(217,164,65,.16),transparent 42%),var(--panel)}
@media(min-width:800px){body{overflow:auto}.destination:hover,.links a:hover,.primary:hover{transform:translateY(-2px);transition:transform .18s ease}}
