@import"https://fonts.googleapis.com/css2?family=Rubik+Mono+One&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap&subset=cyrillic,cyrillic-ext,latin";.layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.layout__header{display:flex;align-items:baseline;gap:10px;padding:12px 16px 10px;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:10}.layout__brand{font-family:var(--font-display);font-size:16px;color:var(--color-teal);letter-spacing:-.01em}.layout__sub{font-size:11px;color:var(--color-text-dim);letter-spacing:2px}.layout__main{flex:1;padding:16px 16px 84px;overflow-y:auto}.layout__tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:20}.tabbar__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 0;color:var(--color-text-dim);text-decoration:none;transition:color .15s;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.tabbar__tab:hover{color:var(--color-text)}.tabbar__tab--active{color:var(--color-teal)}.tabbar__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tabbar__label{line-height:1}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner--sm{width:18px;height:18px}.spinner--md{width:32px;height:32px}.spinner--lg{width:52px;height:52px}.spinner__ring{display:block;width:100%;height:100%;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-teal);animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bonus-card{display:flex;align-items:center;gap:10px;background:var(--color-mustard-dim);border:1px solid var(--color-border);border-left:3px solid var(--color-mustard);padding:12px 14px;transition:opacity .2s}.bonus-card--done{opacity:.45}.bonus-card__star{font-size:18px;color:var(--color-mustard);flex-shrink:0;line-height:1}.bonus-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bonus-card__name{font-size:14px;color:var(--color-text);font-weight:700}.bonus-card__desc{font-size:12px;color:var(--color-text-dim)}.bonus-card__error{font-size:11px;color:var(--color-burgundy);margin-top:2px}.bonus-card__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.bonus-card__coins{font-family:var(--font-display);font-size:14px;color:var(--color-mustard)}.bonus-card__btn{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border:1px solid var(--color-mustard);color:var(--color-mustard);background:transparent;cursor:pointer;transition:background .15s;white-space:nowrap}.bonus-card__btn:hover:not(:disabled){background:var(--color-mustard-dim)}.bonus-card__btn:disabled{cursor:not-allowed;opacity:.6}.coin-badge{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--color-mustard);padding:14px 16px;flex:1;min-width:0;position:relative;overflow:hidden}.coin-badge:after{content:"◈";position:absolute;right:12px;bottom:6px;font-size:32px;color:var(--color-mustard);opacity:.1;pointer-events:none}.coin-badge__label{display:block;margin-bottom:6px}.coin-badge__value{display:flex;align-items:baseline;gap:8px}.coin-badge__number{font-size:28px;color:var(--color-mustard);line-height:1}.coin-badge__unit{font-size:11px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:1px}.error-banner{display:flex;align-items:center;gap:10px;background:#6b273740;border:1px solid var(--color-burgundy);padding:12px 14px;font-size:13px;color:var(--color-text);margin:8px 0}.error-banner__icon{font-family:var(--font-display);color:var(--color-burgundy);font-size:15px;flex-shrink:0}.error-banner__msg{flex:1}.error-banner__retry{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--color-teal);border:1px solid var(--color-teal);padding:4px 10px;background:transparent;cursor:pointer;flex-shrink:0;transition:background .15s}.error-banner__retry:hover{background:var(--color-teal-dim)}.history-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px dashed var(--color-border);font-size:13px}.history-item:last-child{border-bottom:none}.history-item__task{flex:1;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item__date{color:var(--color-text-dim);font-size:11px;flex-shrink:0;letter-spacing:.5px}.history-item__coins{font-family:var(--font-display);font-size:12px;color:var(--color-mustard);flex-shrink:0;min-width:36px;text-align:right}.redeem-card{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-khaki);padding:12px 14px;transition:opacity .2s}.redeem-card--locked{opacity:.45}.redeem-card--pending{border-left-color:var(--color-mustard)}.redeem-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.redeem-card__name{font-size:14px;color:var(--color-text)}.redeem-card__error{font-size:11px;color:var(--color-burgundy)}.redeem-card__status{font-size:11px;color:var(--color-mustard);text-transform:uppercase;letter-spacing:1px}.redeem-card__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.redeem-card__cost{font-family:var(--font-display);font-size:12px;color:var(--color-khaki)}.redeem-card__btn{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border:1px solid var(--color-khaki);color:var(--color-khaki);background:transparent;cursor:pointer;transition:background .15s}.redeem-card__btn:hover:not(:disabled){background:#c9b99a1a}.redeem-card__btn:disabled{cursor:not-allowed;opacity:.5}.redeem-card__confirm{display:flex;gap:6px}.redeem-card__btn--yes{border-color:var(--color-teal);color:var(--color-teal)}.redeem-card__btn--yes:hover:not(:disabled){background:var(--color-teal-dim)}.redeem-card__btn--no{border-color:var(--color-burgundy);color:var(--color-burgundy)}.redeem-card__btn--no:hover:not(:disabled){background:var(--color-burgundy-dim)}.streak-badge{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--color-teal);padding:14px 16px;flex:1;min-width:0;position:relative;overflow:hidden}.streak-badge:after{content:"◇";position:absolute;right:12px;bottom:6px;font-size:32px;color:var(--color-teal);opacity:.1;pointer-events:none}.streak-badge__label{display:block;margin-bottom:6px}.streak-badge__value{display:flex;align-items:baseline;gap:8px}.streak-badge__number{font-size:28px;color:var(--color-teal);line-height:1}.streak-badge__unit{font-size:11px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:1px}.task-card{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-teal);padding:12px 14px;transition:border-color .15s,opacity .2s}.task-card--done{opacity:.5;border-left-color:var(--color-mustard)}.task-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.task-card__name{font-size:14px;color:var(--color-text);font-weight:700}.task-card__desc{font-size:12px;color:var(--color-text-dim)}.task-card__error{font-size:11px;color:var(--color-burgundy);margin-top:2px}.task-card__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.task-card__coins{font-family:var(--font-display);font-size:13px;color:var(--color-mustard)}.task-card__btn{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border:1px solid var(--color-teal);color:var(--color-teal);background:transparent;cursor:pointer;transition:background .15s;white-space:nowrap}.task-card__btn:hover:not(:disabled){background:var(--color-teal-dim)}.task-card__btn:disabled{cursor:not-allowed;opacity:.6}.task-card__btn--done{border-color:var(--color-mustard);color:var(--color-mustard)}.dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.dashboard__stats{display:flex;gap:10px;margin-bottom:24px}.dashboard__section{margin-bottom:24px}.dashboard__section-title{margin-bottom:10px;font-size:10px;font-weight:400;display:flex;align-items:center;gap:8px}.dashboard__section-title:after{content:"";flex:1;height:1px;background:var(--color-border)}.dashboard__empty{font-size:13px;color:var(--color-text-dim);padding:12px 0;font-style:italic}.dashboard__history{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--color-khaki)}.dashboard__section>.task-card,.dashboard__section>.bonus-card,.dashboard__section>.redeem-card{margin-bottom:6px}.locked-section{display:flex;align-items:center;gap:14px;background:var(--color-burgundy-dim);border:1px dashed var(--color-burgundy);padding:20px 18px;margin:4px 0}.locked-section__icon{font-size:28px;line-height:1;flex-shrink:0}.locked-section__text{display:flex;flex-direction:column;gap:4px}.locked-section__text strong{font-size:13px;color:var(--color-text);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-display);font-size:12px}.locked-section__text span{font-size:12px;color:var(--color-text-dim)}.guide-section-list{display:flex;flex-direction:column;gap:6px}.guide-item{background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden;transition:border-color .2s}.guide-item--open{border-color:var(--color-teal)}.guide-item--sensitive .guide-item__summary{border-left:3px solid var(--color-burgundy)}.guide-item__summary{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s}.guide-item__summary:hover{background:#ffffff08}.guide-item__icon{font-size:20px;flex-shrink:0;line-height:1}.guide-item__title{font-family:var(--font-display);font-size:14px;color:var(--color-text);flex:1;min-width:0;text-align:left;letter-spacing:-.01em}.guide-item__meta{font-size:10px;color:var(--color-text-dim);background:#ffffff0d;padding:3px 8px;letter-spacing:1px;flex-shrink:0;white-space:nowrap}.guide-item__lock{font-size:14px;flex-shrink:0}.guide-item__chev{color:var(--color-teal);font-size:20px;flex-shrink:0;transition:transform .2s;line-height:1}.guide-item--open .guide-item__chev{transform:rotate(90deg)}.guide-item__body{border-top:1px dashed var(--color-border);padding:14px 16px}.guide-item__open-btn{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:8px 18px;border:1px solid var(--color-teal);color:var(--color-teal);background:transparent;cursor:pointer;transition:background .15s;display:block;width:100%}.guide-item__open-btn:hover{background:var(--color-teal-dim)}.guide-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.guide-page__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--color-border)}.guide-page__title{font-family:var(--font-display);font-size:20px;color:var(--color-text);letter-spacing:-.01em}.guide-page__count{font-size:10px}.guide-detail__header{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed var(--color-border)}.guide-detail__icon{font-size:32px;line-height:1;flex-shrink:0}.guide-detail__heading{display:flex;flex-direction:column;gap:4px}.guide-detail__title{font-family:var(--font-display);font-size:20px;color:var(--color-text);letter-spacing:-.01em;line-height:1.1}.guide-detail__meta{font-size:11px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:1.5px}.sec-body p{margin-bottom:12px;color:var(--color-text-dim);font-size:14px}.sec-body p strong{color:var(--color-text)}.sec-body em{color:var(--color-mustard);font-style:normal;font-weight:700}.sec-body h4{font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--color-teal);margin:18px 0 8px;padding-bottom:4px;border-bottom:1px dashed var(--color-border)}.sec-body h4:first-child{margin-top:0}.sec-body .kv{background:#ffffff08;border:1px solid var(--color-border);padding:14px 16px;margin:12px 0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}.sec-body .kv dt{color:var(--color-text-dim);text-transform:uppercase;font-size:10px;letter-spacing:1.5px;align-self:center}.sec-body .kv dd{color:var(--color-text);font-family:var(--font-display);letter-spacing:.5px;font-size:14px}.sec-body .kv dd.normal{font-family:var(--font-mono);font-size:13px}.sec-body .note{background:#ffffff08;border-left:3px solid var(--color-mustard);padding:12px 14px;margin:14px 0;font-size:13px;color:var(--color-text-dim)}.sec-body .note strong{color:var(--color-mustard)}.sec-body .note.danger{border-left-color:var(--color-burgundy)}.sec-body .note.danger strong{color:var(--color-burgundy)}.sec-body .note.love{border-left-color:var(--color-khaki)}.sec-body .note.love strong{color:var(--color-khaki)}.sec-body .task{display:flex;gap:10px;padding:9px 12px;margin:6px -4px;border-left:3px solid var(--color-border);font-size:14px;align-items:flex-start}.sec-body .task .task-text{color:var(--color-text);line-height:1.5}.sec-body .task .task-text small{display:block;color:var(--color-text-dim);font-size:12px;margin-top:3px}.sec-body .task.star{background:#e9c46a0d;border-left-color:var(--color-mustard)}.sec-body .steps{list-style:none;counter-reset:step;margin:10px 0}.sec-body .steps li{counter-increment:step;padding:8px 0 8px 44px;position:relative;font-size:14px;color:var(--color-text-dim);border-bottom:1px dashed var(--color-border)}.sec-body .steps li:last-child{border-bottom:none}.sec-body .steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:8px;font-family:var(--font-display);color:var(--color-teal);font-size:13px;background:var(--color-bg);width:32px;text-align:center;border:1px solid var(--color-teal);padding:2px 0}.sec-body .tag{display:inline-block;font-size:10px;padding:2px 6px;background:var(--color-burgundy);color:var(--color-text);font-weight:700;text-transform:uppercase;letter-spacing:1px;vertical-align:middle}.sec-body .tag.lime,.sec-body .tag.star{background:var(--color-teal)}.sec-body .tag.yellow{background:var(--color-mustard);color:var(--color-bg)}.sec-body .cat-crew{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:18px 0}.sec-body .cat{background:#ffffff08;border:1px solid var(--color-border);overflow:hidden}.sec-body .cat-img-wrap{aspect-ratio:4/3;overflow:hidden;background:#000}.sec-body .cat-img-wrap img{width:100%;height:100%;object-fit:cover}.sec-body .cat-name{display:none}.sec-body .cat-body{padding:12px}.sec-body .cat-fullname{font-size:10px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.sec-body .cat-desc{font-size:13px;color:var(--color-text-dim);margin-bottom:8px}.sec-body .cat-warn{background:var(--color-burgundy-dim);border-left:2px solid var(--color-burgundy);padding:8px 10px;font-size:12px;color:var(--color-text)}.sec-body .cat-warn strong{color:var(--color-burgundy)}.sec-body .handnote{color:var(--color-mustard);font-size:16px;display:inline-block;margin-top:8px}.section-page__back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--color-teal);background:transparent;border:none;cursor:pointer;padding:0;margin-bottom:20px;transition:opacity .15s}.section-page__back:hover{opacity:.75}.section-page__loading{display:flex;align-items:center;justify-content:center;min-height:150px}.app-auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.app-auth-loading__text{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-dim)}.app-access-denied{display:flex;align-items:center;gap:16px;padding:40px 24px;min-height:100vh;max-width:400px;margin:0 auto}.app-access-denied__icon{font-family:var(--font-display);font-size:32px;color:var(--color-burgundy);flex-shrink:0}.app-access-denied__text{display:flex;flex-direction:column;gap:6px}.app-access-denied__text strong{font-family:var(--font-display);font-size:18px;color:var(--color-text);text-transform:uppercase}.app-access-denied__text span{font-size:13px;color:var(--color-text-dim)}:root{--color-teal: #2a9d8f;--color-khaki: #c9b99a;--color-burgundy: #6b2737;--color-mustard: #e9c46a;--color-bg: #0f0e0b;--color-surface: #1a1815;--color-text: #f0ede6;--color-text-dim: #9e9a90;--font-mono: "Space Mono", monospace;--font-display: "Rubik Mono One", monospace;--color-border: #2e2b24;--color-teal-dim: rgba(42, 157, 143, .15);--color-mustard-dim: rgba(233, 196, 106, .12);--color-burgundy-dim: rgba(107, 39, 55, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:14px;line-height:1.65;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");mix-blend-mode:overlay}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;background:repeating-linear-gradient(180deg,transparent 0,transparent 3px,rgba(255,255,255,.007) 3px,rgba(255,255,255,.007) 4px)}#root{position:relative;z-index:1}button{font-family:var(--font-mono);cursor:pointer;border:none;background:none}a{color:var(--color-teal);text-decoration:none}.label-upper{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-dim)}.mono-display{font-family:var(--font-display)}.surface{background:var(--color-surface);border:1px solid var(--color-border)}.teal-accent{color:var(--color-teal)}.mustard-accent{color:var(--color-mustard)}.burgundy-accent{color:var(--color-burgundy)}.khaki-accent{color:var(--color-khaki)}
