:root {
  --navy:#293241;
  --blue:#3D5480;
  --cyan:#E0FBFC;
  --light:#98C1D9;
  --coral:#EE6C4D;
  --white:#fff;
  --ink-soft:#526073;
  --line:rgba(61,84,128,.20);
  --shadow:0 18px 50px rgba(41,50,65,.13);
  --shadow-soft:0 8px 28px rgba(41,50,65,.10);
  --radius:28px;
  --max:1180px;
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cyan);color:var(--navy);font-family:Georgia,"Times New Roman",serif;min-height:100vh}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.hidden{display:none!important}
.topbar{height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:20;background:rgba(224,251,252,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(61,84,128,.08)}
.brand{display:block;width:250px;height:150px;overflow:hidden;flex:0 0 auto}
.brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;gap:34px;align-items:center;margin-left:auto}
.desktop-nav a{text-decoration:none;text-transform:uppercase;font:700 12px/1 Arial,sans-serif;letter-spacing:.13em;opacity:.72;padding:12px 0;position:relative}
.desktop-nav a:hover,.desktop-nav a.active{opacity:1}
.desktop-nav a.active:after{content:"";position:absolute;bottom:2px;left:0;right:0;height:3px;background:var(--coral);border-radius:4px}
.top-actions{display:flex;align-items:center;gap:12px}
.auth-chip{font:600 11px/1 Arial,sans-serif;color:var(--ink-soft);padding:8px 10px;background:rgba(255,255,255,.55);border-radius:999px}
.button{border:0;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:14px 20px;border-radius:14px;font:700 13px/1 Arial,sans-serif;letter-spacing:.02em;transition:transform .18s var(--ease),box-shadow .18s,var(--ease),background .18s}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0) scale(.98)}
.button-primary{background:var(--blue);color:white;box-shadow:0 8px 18px rgba(61,84,128,.22)}
.button-primary:hover{background:var(--navy)}
.button-outline{background:transparent;color:var(--blue);border:1px solid rgba(61,84,128,.34)}
.button-outline:hover{background:white}
.button-soft{background:var(--light);color:var(--navy)}
.button-small{padding:10px 14px;font-size:11px}
.button-full{width:100%}
.eyebrow{font:800 10px/1.2 Arial,sans-serif;letter-spacing:.18em;color:var(--blue);margin:0 0 12px}
.discover-page{max-width:var(--max);margin:0 auto;padding:52px 28px 90px}
.discover-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}
h1,h2,p{margin-top:0}
.discover-intro h1{font-size:clamp(45px,6vw,76px);line-height:.9;letter-spacing:-.045em;margin:0}
h1 em,h2 em{font-weight:400;color:var(--coral)}
.lede{font:400 16px/1.6 Arial,sans-serif;color:var(--ink-soft);max-width:470px;margin:20px 0 0}
.discover-tip{font:600 11px/1.4 Arial,sans-serif;color:var(--ink-soft);display:flex;gap:9px;align-items:center;white-space:nowrap}
.tip-dot{width:9px;height:9px;background:var(--coral);border-radius:50%;display:inline-block;box-shadow:0 0 0 6px rgba(238,108,77,.12)}
.reader-shell{display:flex;flex-direction:column;align-items:center}
.story-status{font:700 10px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--blue);height:26px}
.story-stack{width:min(760px,100%);height:min(680px,calc(100vh - 245px));min-height:510px;position:relative;perspective:1000px}
.story-card{position:absolute;inset:0;background:#fff;border:1px solid rgba(61,84,128,.13);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(28px,5vw,62px);overflow:auto;touch-action:pan-y;user-select:none;transform-origin:50% 90%;transition:transform .48s var(--ease),opacity .48s var(--ease),box-shadow .2s}
.story-card.is-top{z-index:3}
.story-card.is-next{z-index:2;transform:translateY(14px) scale(.97);opacity:.62;pointer-events:none}
.story-card.is-third{z-index:1;transform:translateY(28px) scale(.94);opacity:.3;pointer-events:none}
.story-card.dragging{transition:none;box-shadow:0 25px 70px rgba(41,50,65,.2)}
.story-card::before{content:"";position:absolute;top:0;left:0;width:22%;height:5px;background:var(--coral);border-radius:0 0 8px 0}
.story-topline{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:25px}
.story-number{font:800 10px/1 Arial,sans-serif;letter-spacing:.14em;color:var(--ink-soft);white-space:nowrap}
.story-category{display:inline-flex;background:var(--cyan);color:var(--blue);padding:8px 11px;border-radius:999px;font:700 10px/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.story-title{font-size:clamp(34px,5vw,58px);line-height:.96;letter-spacing:-.04em;margin:0 0 13px;max-width:650px}
.story-meta{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font:600 12px/1.4 Arial,sans-serif;margin-bottom:35px}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--light);display:grid;place-items:center;font:800 11px Arial,sans-serif;color:var(--navy);overflow:hidden;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}
.story-body{font-size:clamp(17px,2vw,21px);line-height:1.82;max-width:620px;white-space:pre-line;user-select:text}
.story-body p{margin:0 0 1.1em}
.story-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font:600 11px/1.4 Arial,sans-serif;color:var(--ink-soft)}
.author-line{display:flex;align-items:center;gap:10px}
.author-name{color:var(--navy);font-weight:800}
.save-inline{border:0;background:transparent;color:var(--coral);font:800 12px Arial,sans-serif;padding:8px}
.swipe-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.round-action{width:58px;height:58px;border-radius:50%;border:1px solid rgba(61,84,128,.18);font:700 28px Arial,sans-serif;background:white;color:var(--navy);box-shadow:var(--shadow-soft);transition:transform .18s,background .18s,color .18s}
.round-action:hover{transform:translateY(-3px)}
.skip-action:hover{background:#f7ece8;color:var(--coral)}
.continue-action{background:var(--blue);color:white}
.continue-action:hover{background:var(--navy)}
.save-action{min-width:92px;height:44px;border:1px solid rgba(238,108,77,.3);border-radius:999px;background:#fff;color:var(--coral);font:800 12px Arial,sans-serif;display:flex;align-items:center;justify-content:center;gap:7px;transition:transform .18s,background .18s}
.save-action.saved{background:var(--coral);color:#fff}
.save-icon{font-size:20px;line-height:1}
.gesture-hint{font:600 10px/1 Arial,sans-serif;color:var(--ink-soft);letter-spacing:.07em;text-transform:uppercase;margin:14px 0 0}
.mobile-nav{display:none}
.loading-card,.empty-card{height:100%;background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:55px;display:flex;flex-direction:column;justify-content:center}
.skeleton{background:linear-gradient(90deg,#edf7f8,#d9ecef,#edf7f8);background-size:200% 100%;animation:skeleton 1.2s infinite;border-radius:9px}
.skeleton-title{width:72%;height:52px;margin-bottom:20px}.skeleton-line{width:34%;height:14px;margin-bottom:40px}.skeleton-line.short{width:22%;margin-bottom:40px}.skeleton-body{width:90%;height:190px}
@keyframes skeleton{to{background-position:-200% 0}}
.content-page{max-width:var(--max);margin:0 auto;padding:70px 28px 110px}
.profile-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:44px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.profile-avatar{width:120px;height:120px;border-radius:38px;background:var(--light);display:grid;place-items:center;font-size:48px;overflow:hidden;flex:none}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-photo-editor{display:flex;align-items:center;gap:18px;margin:8px 0 24px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--cyan)}.profile-photo-preview{width:72px;height:72px;border-radius:22px;object-fit:cover;flex:none}.photo-picker{display:inline-flex!important;align-items:center;justify-content:center;padding:11px 14px;border-radius:12px;background:white;border:1px solid var(--line);cursor:pointer!important;font:800 10px Arial,sans-serif!important;color:var(--blue)!important;text-transform:none!important;letter-spacing:.02em!important}.photo-picker input{display:none!important}.photo-help{margin:7px 0 0;font:11px/1.4 Arial,sans-serif;color:var(--ink-soft)}#photo-name{display:block;margin-top:7px;font:10px Arial,sans-serif;color:var(--ink-soft)}
.profile-copy h1{font-size:clamp(40px,6vw,64px);line-height:.95;letter-spacing:-.04em;margin:0 0 10px}
.profile-copy>p:not(.eyebrow){font:400 15px/1.5 Arial,sans-serif;color:var(--ink-soft);margin-bottom:17px}
.profile-stats{display:flex;gap:22px;font:600 11px Arial,sans-serif;color:var(--ink-soft)}
.profile-stats strong{color:var(--navy);font-size:18px}
.section-block{margin-top:65px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.section-heading h2{font-size:36px;line-height:1;margin:0}.text-link{font:800 12px Arial,sans-serif;color:var(--blue);text-decoration:none}
.story-grid,.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mini-story{background:white;border:1px solid var(--line);border-radius:22px;padding:25px;min-height:225px;display:flex;flex-direction:column;box-shadow:var(--shadow-soft);transition:transform .2s var(--ease)}
.mini-story:hover{transform:translateY(-4px)}.mini-story .story-category{align-self:flex-start}.mini-story h3{font-size:25px;line-height:1.05;margin:18px 0 10px}.mini-story p{font:13px/1.55 Arial,sans-serif;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mini-story footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 10px Arial,sans-serif;color:var(--ink-soft)}.mini-story-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.mini-story-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--light);display:grid;place-items:center;color:var(--navy);font:800 10px Arial,sans-serif}.mini-story-actions{display:flex;align-items:center;gap:12px}.story-edit-link{color:var(--blue);text-decoration:none}.story-delete-btn{border:0;background:transparent;color:var(--coral);font:800 10px Arial,sans-serif;padding:0}.story-delete-btn:disabled{opacity:.55;cursor:wait}
.write-heading{max-width:680px;margin-bottom:38px}.write-heading h1,.saved-heading h1{font-size:clamp(48px,7vw,78px);line-height:.88;letter-spacing:-.05em;margin:0 0 20px}.write-heading>p:not(.eyebrow),.saved-heading>div>p:not(.eyebrow){font:16px/1.55 Arial,sans-serif;color:var(--ink-soft)}
.editor-card{background:white;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(25px,5vw,55px)}.editor-label{display:block;font:800 10px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--blue)}.editor-label input,.editor-label textarea,.editor-label select{display:block;width:100%;margin-top:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--navy);outline:0;padding:0 0 15px;border-radius:0}.editor-label input{font-size:clamp(30px,5vw,54px);letter-spacing:-.04em}.editor-label input:focus,.editor-label textarea:focus,.editor-label select:focus{border-bottom-color:var(--coral)}.editor-meta-row{display:grid;grid-template-columns:1fr 220px;gap:35px;align-items:end;margin:40px 0}.editor-label select{font:600 15px Arial,sans-serif;padding-bottom:14px}.reading-estimate{border-left:3px solid var(--light);padding-left:18px;display:flex;flex-direction:column;gap:6px}.reading-estimate strong{font:700 17px Arial,sans-serif}.reading-estimate small{font:12px Arial,sans-serif;color:var(--ink-soft)}.body-label textarea{font-size:19px;line-height:1.85;min-height:380px;resize:vertical}.editor-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;border-top:1px solid var(--line);font:11px Arial,sans-serif;color:var(--ink-soft)}.editor-actions{display:flex;gap:10px}
.saved-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.saved-grid{grid-template-columns:repeat(2,1fr)}.saved-item{position:relative}.remove-save{position:absolute;right:16px;top:16px;border:0;width:34px;height:34px;border-radius:50%;background:var(--cyan);color:var(--coral);font:bold 18px Arial;z-index:2}.empty-card-large{grid-column:1/-1;text-align:center;padding:90px 25px;background:white;border:1px dashed var(--light);border-radius:var(--radius)}.empty-card-large h2{font-size:38px;margin:0 0 10px}.empty-card-large p{font:14px/1.6 Arial,sans-serif;color:var(--ink-soft);margin-bottom:24px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:35px 20px;background:var(--cyan);position:relative}.auth-brand{position:absolute;top:25px;left:30px;width:155px;height:60px}.auth-brand img{width:100%;height:100%;object-fit:contain}.auth-card{width:min(470px,100%);background:white;padding:45px;border-radius:30px;box-shadow:var(--shadow);border:1px solid var(--line)}.auth-card h1{font-size:48px;line-height:.92;letter-spacing:-.045em;margin:0 0 14px}.auth-subtitle{font:14px/1.5 Arial,sans-serif;color:var(--ink-soft);margin-bottom:25px}.auth-card form{display:flex;flex-direction:column;gap:18px}.auth-card label,.modal-card label{font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:var(--blue)}.auth-card input,.modal-card input,.modal-card textarea{display:block;width:100%;margin-top:9px;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent;outline:0;color:var(--navy)}.auth-card input:focus,.modal-card input:focus,.modal-card textarea:focus{border-bottom-color:var(--coral)}.google-button{margin-top:12px}.auth-switch{text-align:center;font:13px Arial,sans-serif;color:var(--ink-soft);margin:25px 0 8px}.auth-switch a{color:var(--blue);font-weight:800}.demo-note{text-align:center;font:10px/1.5 Arial,sans-serif;color:#7b8797}.form-message{padding:11px 13px;border-radius:12px;font:12px/1.4 Arial,sans-serif;margin-bottom:18px}.form-message.error{background:#fff0ed;color:#9f3926}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(41,50,65,.45);display:grid;place-items:center;padding:20px}.modal-card{position:relative;width:min(470px,100%);background:white;padding:36px;border-radius:26px;box-shadow:var(--shadow)}.modal-card h2{font-size:38px;line-height:.98;margin:0 0 12px}.modal-card>p:not(.eyebrow){font:13px/1.55 Arial,sans-serif;color:var(--ink-soft)}.modal-close{position:absolute;right:15px;top:13px;border:0;background:transparent;font:30px Arial;color:var(--ink-soft)}.modal-actions{display:grid;gap:10px;margin-top:25px}
.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);z-index:100;background:var(--navy);color:#fff;border-radius:999px;padding:12px 18px;font:700 11px Arial;box-shadow:var(--shadow);opacity:0;animation:toast-in .25s var(--ease) forwards}.toast.coral{background:var(--coral)}
@keyframes toast-in{to{opacity:1;transform:translate(-50%,0)}}
.swipe-left{transform:translateX(-125%) rotate(-13deg)!important;opacity:0!important}.swipe-right{transform:translateX(125%) rotate(13deg)!important;opacity:0!important}
@media (max-width:800px){
  .topbar{height:67px;padding:0 18px}.brand{width:125px;height:49px}.desktop-nav{display:none}.top-actions{margin-left:auto}.auth-chip{display:none}.button-small{padding:9px 12px}
  .discover-page{padding:34px 14px 105px}.discover-intro{display:block;margin-bottom:20px}.discover-intro h1{font-size:clamp(43px,13vw,64px)}.lede{font-size:13px;margin-top:15px}.discover-tip{margin-top:17px}.story-stack{height:calc(100dvh - 275px);min-height:475px;max-height:none}.story-card{border-radius:23px;padding:29px 23px}.story-card::before{width:28%}.story-title{font-size:clamp(31px,9vw,47px)}.story-meta{margin-bottom:24px}.story-body{font-size:17px;line-height:1.75}.story-footer{margin-top:22px}.swipe-controls{margin-top:15px}.gesture-hint{display:none}.round-action{width:52px;height:52px}.save-action{height:42px}.mobile-nav{display:flex;position:fixed;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;background:rgba(255,255,255,.96);border:1px solid rgba(61,84,128,.14);box-shadow:0 12px 35px rgba(41,50,65,.18);border-radius:19px;height:62px;justify-content:space-around;padding:5px}.mobile-nav a{flex:1;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;font-family:Arial,sans-serif;color:var(--ink-soft)}.mobile-nav a.active{background:var(--cyan);color:var(--blue)}.mobile-nav span{font-size:20px;line-height:20px}.mobile-nav small{font-size:9px;font-weight:800;letter-spacing:.04em}.content-page{padding:38px 17px 110px}.profile-hero{grid-template-columns:auto 1fr;padding:25px;gap:18px}.profile-avatar{width:82px;height:82px;border-radius:25px;font-size:32px}.profile-copy h1{font-size:38px}.profile-copy>p:not(.eyebrow){font-size:12px}.profile-hero>.button{grid-column:1/-1;width:100%}.story-grid{grid-template-columns:1fr}.section-heading{align-items:start}.section-heading h2{font-size:29px}.text-link{padding-top:5px}.write-heading h1,.saved-heading h1{font-size:53px}.editor-card{padding:25px 20px}.editor-meta-row{grid-template-columns:1fr;margin:30px 0;gap:27px}.body-label textarea{min-height:330px;font-size:17px}.editor-footer{align-items:stretch;flex-direction:column}.editor-actions{width:100%;display:grid;grid-template-columns:1fr 1.35fr}.saved-heading{display:block;margin-bottom:32px}.saved-heading>.button{margin-top:20px}.saved-grid{grid-template-columns:1fr}.auth-brand{position:static;width:150px;height:55px;margin:0 auto 15px}.auth-page{display:block;padding:25px 18px}.auth-card{padding:32px 24px}.auth-card h1{font-size:42px}.auth-page .auth-brand{display:block}.modal-card{padding:30px 24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}