:root{
    --bg:#EAF0ED; --paper:#FFFDF8; --ink:#18302D; --muted:#60726F;
    --line:#CBD9D4; --teal:#176F66; --teal-dim:#DCEAE5;
    --amber:#C97A1E; --amber-dim:#FAEDD9; --danger:#B4453D; --danger-dim:#F5E0DD;
  }
  *{box-sizing:border-box;}
  [hidden]{display:none!important;}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:920px;margin:0 auto;padding:24px 18px 70px;}
  .topbar{display:flex;align-items:center;gap:11px;margin-bottom:24px;flex-wrap:wrap;}
  .logo{font-family:'Fraunces',serif;font-weight:600;font-size:19px;}
  .logo span{color:var(--teal);}
  .plan{font-family:'IBM Plex Mono',monospace;font-size:11px;padding:4px 10px;border-radius:20px;background:var(--bg);border:1px solid var(--line);color:var(--muted);}
  .plan.pro{background:var(--teal-dim);border-color:var(--teal);color:var(--teal);font-weight:600;}
  .topbar .right{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap;}
  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:10px;}
  h1{font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:clamp(23px,4vw,32px);line-height:1.15;margin:0 0 10px;letter-spacing:-.02em;overflow-wrap:anywhere;}
  .lede{color:var(--muted);font-size:15px;line-height:1.55;max-width:60ch;margin:0 0 20px;}
  .section-label{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:22px 0 12px;display:flex;align-items:center;gap:10px;}
  .section-label::after{content:"";flex:1;height:1px;background:var(--line);}
  .screen{display:none;} .screen.active{display:block;}
  .panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:13px;}
  textarea,input[type=text]{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;font-family:inherit;font-size:14px;line-height:1.55;color:var(--ink);background:var(--bg);}
  textarea{min-height:150px;resize:vertical;}
  textarea:focus,input:focus{outline:2px solid var(--teal);outline-offset:1px;}
  label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;}
  .btn{border:none;border-radius:9px;padding:12px 18px;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:transform .15s,opacity .15s;}
  .btn:active{transform:scale(.97);} .btn:disabled{opacity:.4;cursor:not-allowed;}
  .btn-primary{background:var(--teal);color:#fff;}
  .btn-dark{background:var(--ink);color:#fff;}
  .btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink);}
  .btn-amber{background:var(--amber-dim);color:var(--amber);}
  .btn-sm{padding:8px 12px;font-size:13px;border-radius:7px;}
  .btn-big{padding:15px 24px;font-size:16px;}
  .row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;}
  .row-end{margin-left:auto;}
  .link-btn{background:none;border:none;color:var(--teal);font-family:inherit;font-size:inherit;cursor:pointer;text-decoration:underline;padding:0;}

  /* scelta materiale */
  .type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:16px;}
  .type-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:20px;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .18s,transform .15s,box-shadow .18s;}
  .type-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 20px rgba(28,43,42,.07);}
  .type-card:active{transform:none;}
  .type-mark{width:38px;height:44px;border-radius:5px;border:2px solid var(--teal);position:relative;margin-bottom:13px;background:var(--paper);}
  .type-mark.slides{border-radius:5px;height:32px;width:46px;}
  .type-mark.slides::after{content:"";position:absolute;inset:6px;border-top:2px solid var(--teal-dim);border-bottom:2px solid var(--teal-dim);}
  .type-mark.book::before{content:"";position:absolute;left:7px;top:8px;right:7px;height:2px;background:var(--teal-dim);box-shadow:0 6px 0 var(--teal-dim),0 12px 0 var(--teal-dim),0 18px 0 var(--teal-dim);}
  .type-mark.text{border-style:dashed;}
  .type-mark.text::before{content:"";position:absolute;left:7px;top:10px;right:12px;height:2px;background:var(--teal-dim);box-shadow:0 7px 0 var(--teal-dim),0 14px 0 var(--teal-dim);}
  .type-name{font-family:'Fraunces',serif;font-size:18px;font-weight:600;margin-bottom:5px;}
  .type-desc{font-size:13px;color:var(--muted);line-height:1.5;}
  .type-formats{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--teal);margin-top:9px;text-transform:uppercase;letter-spacing:.06em;}

  .drop{border:2px dashed var(--line);border-radius:14px;background:var(--paper);padding:38px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;}
  .drop.over{border-color:var(--teal);background:var(--teal-dim);}
  .drop-icon{width:40px;height:50px;margin:0 auto 13px;border:2px solid var(--teal);border-radius:5px;background:var(--paper);}
  .drop-title{font-family:'Fraunces',serif;font-size:18px;margin-bottom:5px;}
  .drop-sub{font-size:13px;color:var(--muted);}
  .drop-feedback{min-height:20px;margin-top:8px;font-size:12.5px;line-height:1.45;color:var(--muted);}
  .drop-feedback.warn{color:var(--amber);}
  .feature-line{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--teal);font-size:13px;font-weight:600;margin:11px 0 2px;text-align:center;}
  .feature-line span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--teal-dim);font-size:12px;}
  input[type=file]{display:none;}

  .analysis{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:15px;flex-wrap:wrap;}
  .an-cell{flex:1;background:var(--paper);padding:12px 14px;min-width:100px;}
  .an-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:19px;color:var(--teal);}
  .an-label{font-size:11px;color:var(--muted);margin-top:2px;}
  .verdict{background:var(--teal-dim);border-radius:11px;padding:16px 18px;font-size:14.5px;line-height:1.6;margin-bottom:15px;}
  .verdict-title{font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:18px;color:var(--teal);margin-bottom:5px;}
  .plan-primary-actions{margin:16px 0 13px;align-items:stretch;}
  .plan-primary-actions .btn-primary{min-width:210px;}
  .plan-customize{margin-top:10px;}
  .plan-customize .simple-details-body{padding-top:14px;}
  .warn{background:var(--amber-dim);border:1px solid var(--amber);border-radius:10px;padding:13px 15px;font-size:14px;line-height:1.6;margin-bottom:15px;}
  input[type=range]{width:100%;accent-color:var(--teal);height:6px;}
  .slider-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
  .slider-row input[type=range]{flex:1;min-width:190px;}
  .slider-val{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:15px;color:var(--teal);}
  .preset-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
  .preset{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:6px 12px;font-size:12px;font-family:'IBM Plex Mono',monospace;cursor:pointer;color:var(--muted);}
  .preset.on{border-color:var(--teal);background:var(--teal-dim);color:var(--teal);font-weight:600;}
  .prev-block{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);margin-bottom:6px;flex-wrap:wrap;}
  .prev-range{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;min-width:110px;}
  .prev-words{font-size:12px;color:var(--muted);}
  .bar{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden;min-width:60px;}
  .bar-fill{height:100%;background:var(--teal);}

  .notif{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:15px;padding:13px 15px;margin-bottom:14px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 6px 18px rgba(28,43,42,.09);animation:slideIn .45s cubic-bezier(.2,.9,.3,1);}
  @keyframes slideIn{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}
  @media(prefers-reduced-motion:reduce){.notif{animation:none}}
  .notif-icon{width:34px;height:34px;border-radius:9px;background:var(--teal);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Fraunces',serif;font-size:17px;font-weight:600;}
  .notif-body{flex:1;min-width:0;}
  .notif-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;}
  .notif-app{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-family:'IBM Plex Mono',monospace;}
  .notif-time{font-size:11px;color:var(--muted);}
  .notif-title{font-weight:600;font-size:14px;margin-top:3px;}
  .notif-text{font-size:13px;line-height:1.45;margin-top:2px;}
  .notif-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:17px;padding:0 2px;align-self:flex-start;}

  .hero{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:13px;}
  .hero-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:42px;line-height:1;color:var(--teal);}
  .hero-label{font-size:14px;color:var(--muted);margin-top:6px;}
  .stats{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:13px;flex-wrap:wrap;}
  .stat{flex:1;background:var(--paper);padding:12px 13px;min-width:84px;}
  .stat-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:19px;color:var(--teal);}
  .stat-label{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.3;}
  .quota{display:flex;align-items:center;gap:11px;font-size:13px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:13px 16px;margin-bottom:13px;flex-wrap:wrap;}
  .quota-bar{flex:1;min-width:110px;height:6px;background:var(--bg);border-radius:3px;overflow:hidden;}
  .quota-fill{height:100%;background:var(--teal);transition:width .3s;}
  .quota-fill.low{background:var(--amber);} .quota-fill.out{background:var(--danger);}

  .block-card{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:13px 15px;margin-bottom:8px;display:flex;gap:11px;align-items:center;flex-wrap:wrap;}
  .block-card.empty-state{color:var(--muted);font-size:14px;justify-content:center;border-style:dashed;padding:22px;text-align:center;}
  .block-title{font-weight:600;font-size:14px;}
  .block-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);margin-top:3px;}
  .pill{font-family:'IBM Plex Mono',monospace;font-size:11px;padding:3px 8px;border-radius:20px;background:var(--teal-dim);color:var(--teal);font-weight:600;}
  .pill.zero{background:var(--bg);color:var(--muted);}
  .readable{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:16px;max-height:290px;overflow-y:auto;font-size:15px;line-height:1.75;white-space:pre-wrap;user-select:text;}
  .sel-chip{background:var(--amber-dim);border:1px solid var(--amber);border-radius:7px;padding:8px 10px;font-size:13px;line-height:1.4;display:flex;gap:8px;margin-bottom:7px;}
  .sel-chip button{background:none;border:none;color:var(--amber);cursor:pointer;font-size:16px;padding:0;margin-left:auto;}
  .qa{border-bottom:1px solid var(--line);padding:11px 0;display:flex;gap:11px;align-items:flex-start;}
  .qa:last-child{border-bottom:none;}
  .qa-q{font-weight:600;font-size:14px;line-height:1.45;}
  .qa-a{color:var(--teal);font-size:14px;line-height:1.45;margin-top:3px;}
  .qa-src{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.06em;}
  .qa-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:17px;padding:2px 4px;}
  .qa-del:hover{color:var(--danger);}
  .msg{border-radius:9px;padding:12px;margin-top:12px;font-size:14px;line-height:1.5;display:none;}
  .msg.show{display:block;}
  .msg.err{background:var(--danger-dim);border:1px solid var(--danger);color:var(--danger);}
  .msg.ok{background:var(--teal-dim);border:1px solid var(--teal);color:var(--teal);}
  .quota-limit-card{display:block;background:var(--paper);border:1px solid var(--danger);color:var(--ink);padding:18px 20px;}
  .quota-limit-title{font-family:'Fraunces',serif;font-size:20px;font-weight:700;color:var(--danger);margin-bottom:6px;}
  .quota-limit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
  .visual-update-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:13px 0;padding:15px 16px;border-color:var(--teal);background:var(--teal-dim);}
  .visual-update-card>div>div{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45;}
  .loading{text-align:center;padding:42px 20px;}
  .pulse{width:44px;height:44px;margin:0 auto 14px;border-radius:50%;background:var(--teal-dim);border:2px solid var(--teal);animation:pulse 1.4s ease-in-out infinite;}
  @keyframes pulse{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1.05);opacity:1}}
  @media(prefers-reduced-motion:reduce){.pulse{animation:none}}
  .loading-text{font-family:'Fraunces',serif;font-size:18px;}
  .loading-sub{font-size:13px;color:var(--muted);margin-top:6px;}
  .progress{width:190px;height:5px;background:var(--line);border-radius:3px;margin:14px auto 0;overflow:hidden;}
  .progress-fill{height:100%;background:var(--teal);width:0;transition:width .25s;}

  .stage{display:flex;flex-direction:column;align-items:center;}
  .card-stack{position:relative;width:100%;max-width:460px;height:255px;}
  .stack-layer{position:absolute;inset:0;border-radius:14px;border:1px solid var(--line);background:var(--paper);}
  .stack-layer.l1{transform:translateY(9px) scale(.97);opacity:.6;}
  .stack-layer.l2{transform:translateY(18px) scale(.94);opacity:.35;}
  .flashcard{position:absolute;inset:0;perspective:1400px;cursor:pointer;}
  .flashcard-inner{position:relative;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d;}
  .flashcard.flipped .flashcard-inner{transform:rotateY(180deg);}
  .face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;border:1px solid var(--line);background:var(--paper);padding:25px;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(28,43,42,.06);}
  .face-back{transform:rotateY(180deg);}
  .face-kicker{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:8px;}
  .face-text{font-family:'Fraunces',serif;font-weight:500;font-size:18px;line-height:1.4;margin-top:12px;flex:1;display:flex;align-items:center;overflow-y:auto;}
  .face-back .face-text{color:var(--teal);}
  .face-hint{font-size:13px;color:var(--muted);text-align:center;}
  .eval-buttons{display:none;gap:10px;margin-top:16px;width:100%;max-width:460px;}
  .eval-buttons.show{display:flex;}
  .btn-reveal{margin-top:16px;max-width:460px;width:100%;}
  .batch-rail{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 24px;}
  .chip{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:7px 9px;min-width:50px;font-family:'IBM Plex Mono',monospace;}
  .chip.current{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-dim);}
  .chip-dots{display:flex;gap:3px;margin-top:5px;}
  .dot{width:6px;height:6px;border-radius:50%;background:var(--line);}
  .dot.filled{background:var(--amber);}
  .chip-id{font-size:10px;color:var(--muted);}
  .boxes{display:flex;gap:6px;flex-wrap:wrap;}
  .box{flex:1;min-width:76px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:11px 6px;text-align:center;}
  .box-count{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:17px;color:var(--teal);}
  .box-interval{font-size:11px;color:var(--muted);margin-top:4px;}
  .ad-wrap{max-width:460px;margin:0 auto;text-align:center;padding:24px 0;}
  .ad-box{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:42px 24px;margin-bottom:15px;position:relative;}
  .ad-tag{position:absolute;top:10px;left:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 6px;}
  .ad-fake{font-family:'Fraunces',serif;font-size:21px;color:var(--muted);margin-bottom:7px;}
  .ad-sub{font-size:13px;color:var(--muted);}
  .ad-count{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--muted);margin-bottom:13px;}

  /* Durante lo studio riduciamo la superficie luminosa: fondo verde profondo,
     carta avorio e testo quasi nero mantengono un contrasto netto senza usare
     bianco puro contro nero puro. */
  body.study-mode{background:#173F3A;color:#F4F7F5;}
  body.study-mode .wrap{min-height:100vh;}
  body.study-mode .logo,body.study-mode .round-head b,body.study-mode .pause-title{color:#F4F7F5;}
  body.study-mode .plan{background:#214C46;border-color:#47726B;color:#D6E5E1;}
  body.study-mode .topbar .btn-outline{border-color:#47726B;color:#F4F7F5;background:rgba(255,255,255,.04);}
  body.study-mode .eyebrow .link-btn,body.study-mode .study-motivation{color:#B9DED5;}
  body.study-mode .round-head,body.study-mode .pause-sub{color:#C0D0CC;}
  body.study-mode .round-seg{background:#47726B;}
  body.study-mode .round-seg.now{background:#F5C47A;}
  body.study-mode .stack-layer,body.study-mode .face{background:#FFFDF8;border-color:#D7DED9;color:var(--ink);box-shadow:0 12px 30px rgba(2,20,17,.24);}
  body.study-mode .btn-reveal{background:#FFFDF8;color:#18302D;}
  body.study-mode .pause-cell,body.study-mode .next-preview{background:#FFFDF8;color:var(--ink);}
  .paywall{background:var(--paper);border:1px solid var(--teal);border-radius:14px;padding:24px;text-align:center;}
  .paywall-price{font-family:'Fraunces',serif;font-size:33px;color:var(--teal);margin:9px 0 4px;}
  .paywall-list{text-align:left;max-width:320px;margin:16px auto;font-size:14px;line-height:1.9;}
  .check{color:var(--teal);font-weight:600;margin-right:6px;}
  .toggle-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);}
  .toggle-row:last-child{border-bottom:none;}
  .toggle-info{flex:1;min-width:0;}
  .toggle-name{font-size:14px;font-weight:600;}
  .toggle-desc{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.45;}
  .switch{position:relative;width:46px;height:27px;flex-shrink:0;cursor:pointer;}
  .switch input{opacity:0;width:0;height:0;}
  .slider-sw{position:absolute;inset:0;background:var(--line);border-radius:27px;transition:.25s;}
  .slider-sw:before{content:"";position:absolute;height:21px;width:21px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.25s;}
  .switch input:checked + .slider-sw{background:var(--teal);}
  .switch input:checked + .slider-sw:before{transform:translateX(19px);}
  .hour-grid{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;}
  .hour-btn{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:8px 12px;font-family:'IBM Plex Mono',monospace;font-size:13px;cursor:pointer;color:var(--muted);}
  .hour-btn.on{border-color:var(--teal);background:var(--teal-dim);color:var(--teal);font-weight:600;}
  .media-box{border:1px dashed var(--line);border-radius:10px;padding:16px;text-align:center;background:var(--bg);cursor:pointer;}
  .media-box:hover{border-color:var(--teal);}
  .media-prev{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);}
  .media-prev img{display:block;width:100%;max-height:200px;object-fit:contain;background:var(--bg);}
  .media-remove{position:absolute;top:8px;right:8px;background:rgba(28,43,42,.82);color:#fff;border:none;border-radius:7px;padding:5px 9px;font-size:12px;cursor:pointer;font-family:inherit;}
  .side-pick{display:flex;gap:7px;margin-top:9px;}
  .side-btn{flex:1;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:9px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--muted);}
  .side-btn.on{border-color:var(--teal);background:var(--teal-dim);color:var(--teal);font-weight:600;}
  .card-media{max-height:104px;margin-top:10px;border-radius:8px;overflow:hidden;flex-shrink:0;}
  .card-media img{display:block;width:100%;max-height:104px;object-fit:contain;}
  .card-video{margin-top:9px;font-size:12px;}
  .card-video a{color:var(--teal);}
  .mini-thumb{width:36px;height:36px;border-radius:6px;object-fit:cover;border:1px solid var(--line);flex-shrink:0;}
  .manual-list{max-height:260px;overflow-y:auto;}
  .storage-meter{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);margin-top:8px;}
  mark.hl{background:var(--amber-dim);border-bottom:2px solid var(--amber);border-radius:3px;padding:1px 0;cursor:pointer;color:inherit;}
  mark.hl:hover{background:#F0DCBB;}
  .hl-bar{position:sticky;bottom:14px;z-index:20;background:var(--ink);color:#fff;border-radius:12px;padding:13px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;box-shadow:0 8px 24px rgba(28,43,42,.28);margin-top:14px;}
  .hl-bar-text{flex:1;min-width:150px;font-size:13.5px;line-height:1.45;}
  .hl-bar-count{font-family:'IBM Plex Mono',monospace;font-weight:600;color:#8FD4CD;}
  .hl-hint{background:var(--amber-dim);border-radius:9px;padding:11px 13px;font-size:13px;line-height:1.5;color:var(--ink);margin-bottom:11px;display:flex;gap:9px;align-items:flex-start;}
  .hl-hint b{color:var(--amber);}
  mark.gap{background:#CFEAE4;border-bottom:2px solid var(--teal);border-radius:3px;padding:1px 0;color:inherit;}
  .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:10px;align-items:center;}
  .legend-item{display:flex;gap:6px;align-items:center;}
  .legend-swatch{width:16px;height:11px;border-radius:3px;}
  .sw-amber{background:var(--amber-dim);border-bottom:2px solid var(--amber);}
  .sw-teal{background:#CFEAE4;border-bottom:2px solid var(--teal);}
  .gap-report{background:var(--teal-dim);border:1px solid var(--teal);border-radius:12px;padding:17px 19px;margin-bottom:14px;}
  .gap-report-title{font-family:'Fraunces',serif;font-size:18px;color:var(--teal);margin-bottom:7px;}
  .card-new{background:var(--teal-dim);border-radius:8px;padding-left:10px;padding-right:10px;}
  .study-cta{background:var(--ink);color:#fff;border-radius:14px;padding:20px 22px;margin-top:16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
  .study-cta-text{flex:1;min-width:180px;}
  .study-cta-title{font-family:'Fraunces',serif;font-size:19px;margin-bottom:4px;}
  .study-cta-sub{font-size:13px;color:#9FB3B0;line-height:1.5;}
  .btn-light{background:#fff;color:var(--ink);}
  .report-actions{margin-top:14px;display:flex;gap:9px;flex-wrap:wrap;}
  .opt-group{margin-bottom:17px;}
  .opt-label{font-size:13px;font-weight:600;margin-bottom:8px;}
  .opt-row{display:flex;gap:7px;flex-wrap:wrap;}
  .opt-btn{flex:1;min-width:120px;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:11px 13px;font-family:inherit;font-size:13.5px;cursor:pointer;color:var(--muted);text-align:left;transition:border-color .15s,background .15s;}
  .opt-btn.on{border-color:var(--teal);background:var(--teal-dim);color:var(--teal);font-weight:600;}
  .opt-btn b{display:block;font-size:13.5px;margin-bottom:2px;}
  .opt-btn span{font-size:11.5px;opacity:.85;line-height:1.4;display:block;}
  .opt-btn:disabled{opacity:.4;cursor:not-allowed;}
  .star{background:none;border:none;cursor:pointer;font-size:19px;line-height:1;padding:2px 5px;color:var(--line);transition:transform .15s;}
  .star.on{color:var(--amber);}
  .star:active{transform:scale(1.25);}
  .star-study{position:absolute;top:14px;right:15px;z-index:3;font-size:22px;}
  .fav-count{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--amber);}
  .scope-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:4px;}
  .round-bar{display:flex;gap:5px;margin:0 auto 18px;max-width:460px;}
  .round-seg{flex:1;height:6px;border-radius:3px;background:var(--line);transition:background .3s;}
  .round-seg.done-ok{background:var(--teal);}
  .round-seg.done-no{background:var(--danger);}
  .round-seg.now{background:var(--ink);}
  .round-head{max-width:460px;margin:0 auto 8px;display:flex;justify-content:space-between;align-items:baseline;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);}
  .round-head b{color:var(--ink);font-size:13px;}
  .pause-wrap{max-width:470px;margin:0 auto;text-align:center;padding:20px 0;}
  .pause-title{font-family:'Fraunces',serif;font-size:26px;margin-bottom:8px;}
  .pause-sub{color:var(--muted);font-size:14.5px;line-height:1.6;margin-bottom:22px;}
  .pause-stats{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:18px;}
  .pause-cell{flex:1;background:var(--paper);padding:15px 10px;}
  .pause-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:24px;}
  .pause-lbl{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.3;}
  .next-preview{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:15px 17px;margin-bottom:18px;text-align:left;}
  .next-title{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
  .next-mix{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;}
  .mix-tag{padding:4px 10px;border-radius:20px;font-family:'IBM Plex Mono',monospace;font-size:12px;}
  .mix-new{background:var(--teal-dim);color:var(--teal);}
  .mix-again{background:var(--danger-dim);color:var(--danger);}
  .prog-wrap{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:15px 17px;margin-bottom:13px;}
  .prog-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px;}
  .prog-track{height:9px;background:var(--bg);border-radius:5px;overflow:hidden;display:flex;}
  .prog-learned{background:var(--teal);} .prog-learning{background:var(--amber);} 
  .mastery-dots{display:flex;gap:3px;justify-content:center;margin-top:9px;}
  .dual{display:flex;gap:11px;flex-wrap:wrap;margin-top:16px;}
  .dual-card{flex:1;min-width:210px;border-radius:13px;padding:19px;border:1px solid var(--line);background:var(--paper);}
  .dual-card.hot{background:var(--ink);border-color:var(--ink);color:#fff;}
  .dual-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:31px;line-height:1;}
  .dual-card.hot .dual-num{color:#7FCFC7;}
  .dual-card:not(.hot) .dual-num{color:var(--teal);}
  .dual-t{font-family:'Fraunces',serif;font-size:17px;margin:8px 0 4px;}
  .dual-s{font-size:12.5px;line-height:1.5;opacity:.75;margin-bottom:13px;}
  .dual-card.hot .dual-s{color:#9FB3B0;opacity:1;}
  .material-ready-card{flex-basis:100%;background:var(--teal-dim);border-color:rgba(0,126,118,.28);}
  .material-ready-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--paper);color:var(--teal);padding:5px 10px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
  .material-ready-card .dual-t{font-size:22px;margin-top:12px;}
  .material-ready-card .dual-s{max-width:720px;color:var(--ink);opacity:.72;font-size:14px;}
  .material-ready-actions{display:flex;gap:9px;flex-wrap:wrap;}
  .boxes{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;}
  .box{flex:1;min-width:74px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 6px;text-align:center;}
  .box.due{border-color:var(--amber);background:var(--amber-dim);}
  .box-count{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:16px;color:var(--teal);}
  .box-interval{font-size:10.5px;color:var(--muted);margin-top:3px;}
  .concept-box{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:13px;}
  .concept-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
  .concept-n{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:22px;color:var(--teal);}
  .concept-list{max-height:190px;overflow-y:auto;font-size:13px;line-height:1.75;color:var(--muted);}
  .concept-list div{padding:3px 0;border-bottom:1px solid var(--bg);}
  .dens-warn{background:var(--amber-dim);border:1px solid var(--amber);border-radius:10px;padding:13px 15px;font-size:13.5px;line-height:1.55;margin-top:11px;}
  .simple-details{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin:14px 0;overflow:hidden;}
  .simple-details summary{cursor:pointer;list-style:none;padding:15px 17px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:12px;}
  .simple-details summary::-webkit-details-marker{display:none;}
  .simple-details summary:after{content:'+';font-family:'IBM Plex Mono',monospace;color:var(--teal);font-size:20px;line-height:1;}
  .simple-details[open] summary:after{content:'−';}
  .simple-details[open] summary{border-bottom:1px solid var(--line);}
  .simple-details-body{padding:16px 17px;}
  .simple-details-note{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 13px;}
  .ready-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--teal-dim);border:1px solid var(--teal);border-radius:12px;padding:13px 16px;margin-bottom:13px;}
  .ready-strip b{color:var(--teal);}
  .foot-note{font-size:12px;color:var(--muted);margin-top:30px;padding-top:16px;border-top:1px solid var(--line);line-height:1.65;}
  .dialog-backdrop{position:fixed;inset:0;background:rgba(28,43,42,.48);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;}
  .dialog-backdrop.show{display:flex;}
  .dialog-box{width:min(480px,100%);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 20px 55px rgba(28,43,42,.22);}
  .cloud-merge-note{margin:14px 0;padding:12px 13px;border:1px solid var(--teal);border-radius:10px;background:var(--teal-dim);font-size:13px;line-height:1.5;}
  .account-merge-actions{align-items:stretch;}
  .account-merge-actions .btn{flex:1;}
  .dialog-title{font-family:'Fraunces',serif;font-size:23px;font-weight:600;margin-bottom:7px;}
  .dialog-desc{font-size:14px;line-height:1.55;color:var(--muted);margin-bottom:14px;}
  .card-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:14px;}
  .card-tools>div:first-child{font-size:13px;line-height:1.5;color:var(--muted);}
  .card-tools b{display:block;color:var(--ink);font-size:14px;margin-bottom:2px;}
  .card-row-actions{display:flex;gap:13px;margin-top:8px;}
  .card-row-actions .link-btn{font-size:12px;padding:2px 0;min-height:0;}
  .danger-link{color:var(--danger)!important;}
  .card-edit{background:var(--teal-dim);border-radius:10px;padding:14px;}
  .card-edit label{display:block;font-size:12px;margin:0 0 5px;}
  .card-edit-field{min-height:72px;margin-bottom:11px;background:var(--paper);}
  .card-edit-actions{margin-top:2px;}
  .card-answer-image-editor{margin:7px 0 13px;display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
  .card-answer-image-editor img,.qa-answer-image{display:block;max-width:min(100%,460px);max-height:280px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:5px}
  .qa-answer-image{margin:9px 0}
  .pdf-review-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;}
  .pdf-review-shell{padding:16px;}
  .pdf-review-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:13px;}
  .pdf-review-toolbar strong{min-width:130px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:13px;}
  .pdf-review-status{text-align:center;color:var(--muted);font-size:13px;padding:10px;}
  .pdf-missing{text-align:center;padding:26px 15px;}
  .pdf-missing p{font-size:13px;color:var(--muted);line-height:1.55;margin:7px auto 15px;}
  .pdf-stage-wrap{overflow:auto;background:#dfe5e3;border:1px solid var(--line);border-radius:10px;padding:12px;max-height:72vh;}
  .pdf-stage{position:relative;width:max-content;max-width:100%;margin:0 auto;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-shadow:0 3px 15px rgba(28,43,42,.16);}
  .pdf-stage canvas{display:block;max-width:100%;height:auto;background:#fff;}
  .pdf-existing-regions{position:absolute;inset:0;pointer-events:none;}
  .pdf-existing-region{position:absolute;border:2px solid rgba(20,92,79,.92);background:rgba(20,92,79,.22);border-radius:5px;}
  .pdf-learned-text{position:absolute;background:rgba(20,92,79,.30);border-bottom:2px solid #145C4F;border-radius:3px;mix-blend-mode:multiply;}
  .pdf-lasso-layer,.pdf-existing-lasso{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
  .pdf-lasso-layer path{fill:none;stroke:var(--amber);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #fff);}
  .pdf-lasso-layer.is-closed path{fill:rgba(209,124,23,.18);}
  .pdf-existing-lasso polygon{fill:rgba(20,92,79,.22);stroke:rgba(20,92,79,.95);stroke-width:2.5;vector-effect:non-scaling-stroke;}
  .pdf-selection-panel h2,.pdf-card-preview h2{font-family:'Fraunces',serif;font-size:21px;margin:0 0 6px;}
  .pdf-selection-copy{display:flex;gap:16px;align-items:center;margin-bottom:14px;}
  .pdf-selection-copy img{width:150px;max-height:120px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;}
  .pdf-selection-copy p{font-size:13px;color:var(--muted);line-height:1.55;margin:0;}
  .pdf-selection-panel textarea{min-height:76px;}
  .pdf-explanations-panel{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:16px;}
  .pdf-explanations-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line);}
  .pdf-explanations-head h2{font-family:'Fraunces',serif;font-size:21px;margin:0;}
  .pdf-explanations-head span{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--teal);white-space:nowrap;}
  .pdf-learned-legend{display:flex;align-items:center;gap:8px;margin:12px 0 4px;padding:9px 10px;border-radius:8px;background:var(--teal-dim);color:#145C4F;font-size:11.5px;font-weight:600;line-height:1.35;}
  .pdf-learned-legend span{width:17px;height:11px;border-radius:3px;background:rgba(20,92,79,.30);border-bottom:2px solid #145C4F;flex:0 0 auto;}
  .pdf-side-section{padding:15px 0 3px;border-top:1px solid var(--line);margin-top:14px;}
  .pdf-side-title{display:flex;justify-content:space-between;align-items:center;gap:9px;}
  .pdf-side-title h3{font-size:14px;margin:0;}
  .pdf-add-manual{width:100%;margin-top:12px;}
  .pdf-page-card{padding:12px 0;border-bottom:1px solid var(--line);}
  .pdf-page-card:last-child{border-bottom:0;}
  .pdf-page-card-q{font-weight:700;font-size:12.5px;line-height:1.45;}
  .pdf-page-card-a{font-size:12.5px;line-height:1.5;color:var(--teal);margin-top:4px;}
  .pdf-page-card textarea{min-height:64px;margin-bottom:8px;padding:9px;font-size:12.5px;background:#fff;}
  .pdf-explanations-empty{font-size:13px;line-height:1.55;color:var(--muted);margin:14px 0 0;}
  .pdf-explanation-item{padding:14px 0;border-bottom:1px solid var(--line);}
  .pdf-explanation-item:last-child{border-bottom:0;}
  .pdf-explanation-copy{font-size:13px;line-height:1.6;white-space:pre-wrap;color:var(--ink);}
  .pdf-explanation-note{font-size:11.5px;line-height:1.45;color:var(--muted);margin-top:8px;}
  .pdf-explanation-delete{font-size:11.5px;margin-top:8px;padding:4px 0;min-height:0;}
  .trash-panel{margin-top:18px;border-color:var(--amber);background:var(--amber-dim);}
  .library-heading,.trash-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;}
  .library-heading>div,.trash-page-head>div{min-width:0;}
  .trash-shortcut{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex:0 0 auto;}
  .trash-shortcut-icon,.trash-empty-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .trash-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--amber);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;}
  .trash-count[hidden]{display:none;}
  .app-startup{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;background:var(--bg);transition:opacity .18s ease,visibility .18s ease;}
  .app-startup.ready{opacity:0;visibility:hidden;pointer-events:none;}
  .app-startup-card{width:min(360px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:var(--ink);}
  .app-startup-mark{font-family:'Fraunces',serif;font-size:38px;font-weight:600;line-height:1;color:var(--ink);margin-bottom:5px;}
  .app-startup-mark span{color:var(--teal);}
  .app-startup-spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:startup-spin .75s linear infinite;margin:3px 0 8px;}
  .app-startup-card strong{font-family:'Fraunces',serif;font-size:22px;}
  .app-startup-card>span{font-size:13px;color:var(--muted);line-height:1.5;}
  @keyframes startup-spin{to{transform:rotate(360deg)}}
  @media (prefers-reduced-motion:reduce){.app-startup,.app-startup-spinner{transition:none;animation:none;}}
  .trash-page-head{margin-bottom:20px;}
  .trash-page-head h1{margin-bottom:8px;}
  .trash-empty-smart{text-align:center;padding:38px 20px;}
  .trash-empty-icon{width:42px;height:42px;color:var(--muted);margin:0 auto 12px;}
  .trash-head,.trash-item{display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .trash-head{margin-bottom:12px;}
  .trash-item{padding:17px;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:9px;}
  .trash-copy{min-width:0;flex:1;}
  .trash-title{font-weight:700;overflow-wrap:anywhere;}
  .trash-meta{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45;}
  .trash-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
  .trash-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;}
  .trash-block-preview{background:var(--paper);border:1px solid var(--line);border-radius:11px;margin-bottom:9px;overflow:hidden;}
  .trash-block-preview summary{cursor:pointer;padding:15px 17px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;}
  .trash-block-preview summary::-webkit-details-marker{display:none;}
  .trash-block-preview summary::after{content:'+';color:var(--teal);font-size:20px;line-height:1;}
  .trash-block-preview[open] summary::after{content:'−';}
  .trash-block-copy{padding:0 17px 17px;border-top:1px solid var(--line);font-size:13px;line-height:1.65;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;}
  .trash-card-preview{padding:14px 0;border-bottom:1px solid var(--line);}
  .trash-card-preview:first-child{padding-top:0;}
  .trash-card-preview:last-child{border-bottom:0;padding-bottom:0;}
  .trash-card-question{font-weight:700;font-size:14px;line-height:1.45;}
  .trash-card-answer{color:var(--teal);font-size:14px;line-height:1.5;margin-top:5px;}
  .trash-card-origin{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);margin-top:6px;text-transform:uppercase;}
  .trash-card-image{display:block;max-width:220px;max-height:150px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:9px;}
  .trash-detail-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0 20px;}
  .trash-detail-pagination span{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);}
  .trash-confirm-box{text-align:center;max-width:460px;}
  .trash-confirm-icon{width:48px;height:48px;border-radius:50%;margin:0 auto 13px;display:grid;place-items:center;background:var(--teal-dim);color:var(--teal);font-size:25px;font-weight:800;}
  .trash-confirm-note{border:1px solid var(--amber);background:var(--amber-dim);border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.5;margin:4px 0 17px;text-align:left;}
  .trash-confirm-actions{justify-content:center;}
  #pdf-explanation-text{min-height:120px;margin-bottom:12px;}
  .pdf-preview-item{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);}
  .pdf-preview-item:last-child{border-bottom:0;}
  .pdf-preview-item input[type=checkbox]{width:20px;height:20px;margin-top:24px;}
  .pdf-preview-item label{display:block;font-size:11.5px;margin:0 0 4px;}
  .pdf-preview-item textarea{min-height:66px;margin-bottom:9px;}

/* --- OTTIMIZZAZIONI MOBILE --- */
.account-nav{display:inline-flex;align-items:center;gap:7px}
.cloud-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block;flex:none}
.cloud-dot.online{background:var(--teal);box-shadow:0 0 0 3px var(--teal-dim)}
.cloud-dot.waiting{background:var(--amber)}
.cloud-dot.error{background:var(--danger)}
.cloud-local h2,.conflict-panel h2,#account-signed-out h2{font-family:'Fraunces',serif;font-size:22px;margin:0 0 8px}
.cloud-local p,.conflict-panel p,.account-copy{color:var(--muted);line-height:1.6;margin:0 0 16px}
.account-form{display:flex;gap:9px;align-items:stretch;margin-top:8px}
.account-form input{flex:1;min-width:180px}
.account-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}
.account-kicker{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--teal);margin-bottom:4px}
.cloud-state{border:1px solid var(--line);background:var(--bg);border-radius:9px;padding:12px 13px;font-size:13px;line-height:1.5;margin-bottom:12px}
.cloud-state.ok{border-color:var(--teal);background:var(--teal-dim);color:var(--teal)}
.cloud-state.warn{border-color:var(--amber);background:var(--amber-dim)}
.cloud-state.err{border-color:var(--danger);background:var(--danger-dim);color:var(--danger)}
.account-usage{font-size:13px;color:var(--muted);margin:0 0 13px}
.account-actions{margin-top:4px}
.conflict-panel{border-color:var(--amber);background:var(--amber-dim)}
.conflict-options{display:flex;gap:9px;flex-wrap:wrap}
.share-link-row{display:flex;gap:9px;align-items:stretch;margin-top:7px}
.share-link-row input{flex:1;min-width:0;font-family:'IBM Plex Mono',monospace;font-size:12px}
.share-help{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 14px}
.share-dialog-actions{justify-content:flex-end;margin-top:14px}
.share-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--paper);font-size:13px;line-height:1.45;color:var(--muted)}
.share-consent input{flex:0 0 auto;width:18px;height:18px;margin-top:1px}
.shared-intro{display:flex;align-items:center;justify-content:space-between;gap:18px}
.shared-intro h2{font-family:'Fraunces',serif;font-size:21px;margin:0 0 5px}
.shared-intro p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.shared-preview-card{padding:12px 0;border-bottom:1px solid var(--line)}
.shared-preview-card:last-child{border-bottom:0}
.shared-preview-q{font-weight:700;font-size:14px;line-height:1.45;margin-bottom:4px}
.shared-preview-a{font-size:13.5px;line-height:1.55;color:var(--teal)}
.project-panel{margin:0 0 16px;padding:16px}
.project-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.project-copy{flex:1;min-width:0}
.project-title{font-weight:700;font-size:18px;overflow-wrap:anywhere}
.project-meta{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.45}
.project-actions,.library-block-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.project-statuses{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.library-block-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.library-block-copy{flex:1;min-width:170px}
.motivation-card{border-left:4px solid var(--teal);background:var(--teal-dim);border-radius:10px;padding:14px 16px;margin:0 0 18px;font-family:'Fraunces',serif;font-size:18px;line-height:1.45;color:var(--ink)}
.study-motivation{text-align:center;color:var(--teal);font-size:13px;font-weight:700;line-height:1.45;margin:12px auto 4px;max-width:620px}
.exam-plan{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:16px;margin:16px 0}
.exam-plan{display:flex;align-items:center;justify-content:space-between;gap:16px}
.exam-plan>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.exam-plan>div:first-child b{font-family:'Fraunces',serif;font-size:19px;line-height:1.25}
.exam-plan>div:first-child span{color:var(--muted);font-size:13px;line-height:1.5}
.exam-plan.active{border-left:4px solid var(--teal);background:var(--teal-dim)}
.exam-plan.compact{margin:0 0 18px}
.exam-plan-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.exam-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.exam-plan-title{font-family:'Fraunces',serif;font-size:21px;font-weight:700;margin-bottom:4px}
.exam-plan-sub{color:var(--muted);font-size:13px;line-height:1.5}
.exam-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-top:13px}
.exam-plan-cell{background:var(--paper);padding:12px}
.exam-plan-num{font-family:'IBM Plex Mono',monospace;color:var(--teal);font-size:20px;font-weight:700}
.exam-plan-label{color:var(--muted);font-size:11.5px;margin-top:3px}
.exam-dialog-preview{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0 15px;font-size:13px;line-height:1.5;color:var(--muted);min-height:44px}
.notif-action{margin-top:10px}

@media (max-width: 769px) {
  .visual-update-card{align-items:stretch;flex-direction:column;gap:12px;}
  .visual-update-card .btn{width:100%;}
  .btn, input[type=text], select, textarea, .type-card, .link-btn, .opt-btn, .hour-btn, .side-btn { min-height: 44px; }
  .qa-del, .notif-close, .media-remove, .preset, .star, .switch {
    min-width: 44px;
    min-height: 44px;
  }
  .link-btn { padding: 8px 12px; margin: 4px 0; }
  .wrap { padding: 16px 12px 60px; }
  .topbar { margin-bottom: 18px; }
  .topbar .right{width:100%;margin-left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .topbar .right .btn{padding:9px 5px;font-size:12px;min-width:0}
  #save-account-shortcut{grid-column:1/-1;grid-row:2}
  .project-head,.library-block-row{flex-direction:column;align-items:stretch}
  .project-actions,.library-block-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .project-actions .btn,.project-actions .link-btn,.library-block-actions .btn{width:100%;min-width:0}
  .project-actions>*:last-child{grid-column:1/-1}
  .library-block-actions .pill{display:flex;align-items:center;justify-content:center;white-space:normal;text-align:center}
  .library-block-actions .qa-del{justify-self:end}
  .library-block-copy{min-width:0;width:100%}
  .project-statuses .pill{white-space:normal;line-height:1.35}
  #storage-toast button{margin-top:8px!important;margin-left:0!important;margin-right:8px!important;min-height:40px}
  
  /* Layout a griglia e flex che diventano colonne */
  .type-grid { grid-template-columns: 1fr; }
  .slider-row { flex-direction: column; align-items: stretch; gap: 8px; }
  .slider-row input[type=range] { width: 100%; min-width: 0; }
  
  /* Flashcard più alta per sfruttare lo schermo verticale */
  .card-stack { height: 350px; }
  .face { padding: 18px; }
  .face-text { font-size: 16px; }
  
  /* Statistiche e analisi incolonnate per non risultare troppo strette */
  .analysis, .stats { display: flex; flex-direction: column; gap: 0; }
  .an-cell, .stat { border-bottom: 1px solid var(--line); }
  .an-cell:last-child, .stat:last-child { border-bottom: none; }
  
  /* Bottoni full-width nelle CTA */
  .study-cta { flex-direction: column; text-align: center; gap: 12px; }
  .study-cta .btn { width: 100%; }
  .opt-btn { min-width: 100%; }
  .plan-primary-actions{display:grid;grid-template-columns:1fr;width:100%;}
  .plan-primary-actions .btn,.plan-primary-actions .link-btn{width:100%;}
  
  .dual-card { min-width: 100%; }
  .material-ready-actions{display:grid;grid-template-columns:1fr;}
  .material-ready-actions .btn{width:100%;}
  .dialog-box { padding: 18px; }
  .account-merge-actions{display:grid;grid-template-columns:1fr;}
  .account-form,.account-head,.conflict-options,.share-link-row,.shared-intro{flex-direction:column;align-items:stretch}
  .account-form .btn,.conflict-options .btn,.account-actions .btn{width:100%}
  .share-dialog-actions .btn,.shared-intro .btn{width:100%}
  .card-tools,.pdf-selection-copy{flex-direction:column;align-items:stretch}
  .card-tools .row,.card-edit-actions,.pdf-selection-panel>.row,.pdf-card-preview>.row{width:100%}
  .card-tools .btn,.card-edit-actions .btn,.pdf-selection-panel>.row .btn,.pdf-card-preview>.row .btn{width:100%}
  .pdf-review-workspace{grid-template-columns:1fr}
  .pdf-explanations-panel{position:static;max-height:none;order:2}
  .pdf-review-shell{padding:9px}
  .pdf-stage-wrap{padding:5px;max-height:65vh}
  .pdf-selection-copy img{width:100%;max-height:180px}
  .exam-plan-head{flex-direction:column;align-items:stretch}
  .exam-plan-grid{grid-template-columns:1fr}
  .exam-plan-head .btn{width:100%}
  .exam-plan{flex-direction:column;align-items:stretch}
  .exam-plan-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .exam-plan-actions .btn,.exam-plan-actions .link-btn,.exam-plan>.btn{width:100%}
  .trash-head,.trash-item{flex-direction:column;align-items:stretch}
  .library-heading,.trash-page-head{gap:13px;}
  .library-heading .trash-shortcut{margin-top:24px;}
  .trash-page-head{flex-direction:column;align-items:stretch;}
  .trash-page-head .btn{width:100%;}
  .trash-detail-actions{flex-direction:column;align-items:stretch}
  .trash-detail-actions .row{display:grid;grid-template-columns:1fr;}
  .trash-detail-actions .btn{width:100%;}
  .trash-detail-pagination{display:grid;grid-template-columns:1fr;}
  .trash-detail-pagination .btn{width:100%;}
  .trash-detail-pagination span{text-align:center;grid-row:1;}
  .trash-actions{display:grid;grid-template-columns:1fr;width:100%}
  .trash-actions .btn,.trash-head .btn{width:100%}
  .trash-confirm-actions{display:grid;grid-template-columns:1fr;width:100%}
  .trash-confirm-actions .btn{width:100%}
}
