html,body{margin:0!important;background:#f5f8fa!important}.page{min-height:100vh;padding:26px 0}.shell{max-width:1280px;margin:auto;padding:0 18px;color:#17304d;font-family:"Noto Sans TC","Microsoft JhengHei",Arial,sans-serif}.hero,.grid>aside,.grid>main{background:#fff;border:1px solid #dce6ed;border-radius:20px}.hero{padding:36px 42px;background:#f8fafb}.badge{display:inline-block;padding:7px 13px;border:1px solid #dce6ed;border-radius:999px;background:#fff;font-weight:800;font-size:13px}.hero h1{font-size:clamp(34px,5vw,58px);margin:18px 0 10px}.intro{font-size:17px;line-height:1.8}.grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;margin:18px 0}.grid>aside,.grid>main{padding:24px}.studt-list{list-style:none;padding:0}.studt-list .studt-list{padding-left:15px}.studt-list a{display:block;padding:8px 10px;border-radius:9px;color:#24465f;text-decoration:none}.studt-list .active>a,.studt-list a:hover{background:#edf5f8}.content{min-width:0;overflow:hidden}.studt-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:11px}.navbox,.navhome{border:1px solid #dce6ed;border-radius:14px;background:#fff;color:#17304d;text-decoration:none;min-height:62px}.navbox{display:flex;flex-direction:column;justify-content:center;padding:10px 14px}.navbox.next{text-align:right;align-items:flex-end}.navbox small{color:#778895;margin-bottom:3px}.navhome{display:flex;align-items:center;justify-content:center;padding:0 18px;font-weight:800}.done{background:#f1f8f5;border-color:#bfdcd3;color:#315f54}footer{text-align:center;padding:25px 10px;color:#71808c;font-size:13px}.note{margin-top:5px;font-size:12px}@media(max-width:760px){.shell{padding:0 10px}.hero{padding:24px 20px}.grid{grid-template-columns:1fr}.grid>main{order:1;padding:16px}.grid>aside{order:2}.studt-nav{grid-template-columns:1fr 1fr}.navhome{grid-column:1/-1;grid-row:1;min-height:44px}.navbox{font-size:13px}}
/* v0.3.3：教材單元不再套第二層側欄/卡片，完整保留原教材自己的版面 */
.studt-unit-full{
  width:100%;
  max-width:none;
  margin:18px 0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.studt-unit-full > :first-child{margin-top:0}
@media(max-width:760px){
  .studt-unit-full{margin:12px 0}
}

/* v0.3.5 三向導覽精修 */
.studt-nav{
  max-width:1240px;
  margin:18px auto 22px;
  padding:10px;
  gap:12px;
  border:1px solid #d9e5ec;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 26px rgba(23,48,77,.055);
}
.studt-nav .navbox,.studt-nav .navhome{
  position:relative;
  overflow:hidden;
  border:1px solid #d8e4eb;
  border-radius:15px;
  background:#fff;
  box-shadow:0 3px 12px rgba(23,48,77,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.studt-nav a.navbox:hover,.studt-nav a.navhome:hover{
  transform:translateY(-2px);
  border-color:#9dbdce;
  box-shadow:0 8px 20px rgba(23,48,77,.09);
  background:#f8fbfc;
}
.studt-nav .navbox{padding:13px 18px;min-height:70px}
.studt-nav .navbox small{
  color:#7890a2;
  font-size:12px;
  letter-spacing:.04em;
  font-weight:700;
}
.studt-nav .navbox b{font-size:15px;line-height:1.45;color:#173f60}
.studt-nav .navbox.prev{border-left:4px solid #4d86a5}
.studt-nav .navbox.next{border-right:4px solid #438d83}
.studt-nav .navhome{
  min-width:180px;
  padding:0 20px;
  color:#214f6c;
  background:#f7fafb;
  font-size:14px;
  letter-spacing:.02em;
}
.studt-nav .done{
  border:1px solid #b9d9ce;
  border-right:4px solid #4f8d79;
  background:#f3f9f6;
}
.studt-nav .done b{color:#315f54}
@media(max-width:760px){
 .studt-nav{padding:8px;border-radius:16px;gap:8px;margin:12px auto 16px}
 .studt-nav .navhome{min-width:0;min-height:46px;border-radius:12px}
 .studt-nav .navbox{min-height:68px;padding:10px 12px;border-radius:12px}
 .studt-nav .navbox b{font-size:13px}
}

/* v0.3.6 完整章節閱讀 */
.studt036-chapter{width:100%;margin:0;padding:0}
.studt036-chapter-intro{
 margin:0 0 20px;padding:18px 22px;border:1px solid #dce6ed;border-radius:16px;
 background:#fff;color:#40566b;line-height:1.8
}
.studt036-topic{width:100%;margin:0 0 26px;padding:0}
.studt036-topic:last-child{margin-bottom:0}
.studt036-empty{padding:28px;border:1px dashed #cbdbe4;border-radius:16px;background:#fff;text-align:center;color:#71808c}
.studt036-chapter-nav{margin-top:24px}
@media(max-width:760px){
 .studt036-chapter-intro{padding:15px 16px}
 .studt036-topic{margin-bottom:18px}
}

/* v0.3.7：低彩度教材配色＋章末完成卡 */
body.studt-standalone{background:radial-gradient(circle at 7% 5%,rgba(67,128,162,.07),transparent 25%),radial-gradient(circle at 94% 20%,rgba(79,141,121,.06),transparent 24%),#f5f8fa!important}
.studt-nav{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,250,251,.96))}
.studt-nav .navbox.prev{border-left:5px solid #4c87a7;background:linear-gradient(90deg,#f0f7fb,#fff 25%)}
.studt-nav .navhome{border-color:#e2d4ad;background:linear-gradient(135deg,#fffdf6,#fbf6e8);color:#735e2e}
.studt-nav .navbox.next{border-right:5px solid #4f9488;background:linear-gradient(270deg,#eff8f5,#fff 25%)}
.studt036-chapter-intro{position:relative;padding:22px 26px 22px 30px;border-left:6px solid #39789b;background:linear-gradient(105deg,#f2f9fc,#fff 60%,#f7fbf9);box-shadow:0 7px 22px rgba(23,48,77,.045)}
.studt036-chapter-intro:before{content:"章節導讀";display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;background:#deedf5;color:#275f7e;font-size:12px;font-weight:800;letter-spacing:.08em}
.studt036-topic+ .studt036-topic{padding-top:30px;border-top:1px solid #dbe6eb}
.studt036-topic:nth-of-type(4n+1){--accent:#4b86a6}.studt036-topic:nth-of-type(4n+2){--accent:#4f8d79}.studt036-topic:nth-of-type(4n+3){--accent:#b58a46}.studt036-topic:nth-of-type(4n){--accent:#806fa2}
.studt036-topic+ .studt036-topic:before{content:"";position:absolute;top:-2px;left:0;width:76px;height:4px;border-radius:99px;background:var(--accent,#4b86a6)}
.studt-complete-card{max-width:1240px;margin:20px auto;padding:15px 20px;display:flex;align-items:center;gap:15px;border:1px solid #b9d9ce;border-radius:18px;background:radial-gradient(circle at 94% 10%,rgba(79,141,121,.10),transparent 28%),linear-gradient(120deg,#f3faf7,#fbfdfc);box-shadow:0 8px 24px rgba(42,95,80,.07);color:#315f54}
.studt-complete-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#dcefe7;border:1px solid #b7d9cc;font-size:24px;font-weight:900}
.studt-complete-card small{display:block;color:#719286;font-size:10px;font-weight:800;letter-spacing:.13em}.studt-complete-card strong{display:block;font-size:18px}.studt-complete-card p{margin:5px 0 0;color:#698278;font-size:13px}
.studt-complete-chapter{padding:22px 26px;margin-top:30px}.studt-complete-chapter .studt-complete-icon{width:54px;height:54px;flex-basis:54px;font-size:28px}
@media(max-width:760px){.studt036-chapter-intro{padding:18px 16px 18px 19px}.studt036-topic+ .studt036-topic{padding-top:22px}.studt-complete-card{padding:13px 15px;border-radius:15px}.studt-complete-card strong{font-size:16px}}

/* =========================================================
   v0.3.8 課程首頁：課程學習導覽
   ========================================================= */
.studt-course-guide{padding:0!important;overflow:hidden}
.studt-guide{height:100%}
.studt-guide-chapter{padding:28px}
.studt-guide-chapter+.studt-guide-chapter{border-top:1px solid #dce6ed}
.studt-guide-kicker{display:inline-flex;padding:6px 11px;border-radius:999px;background:#e8f2f7;color:#316c8b;font-size:12px;font-weight:800;letter-spacing:.08em}
.studt-guide-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:15px 0 20px}
.studt-guide-heading small{display:block;color:#7b8f9e;font-size:11px;font-weight:800;letter-spacing:.12em}
.studt-guide-heading h2{margin:4px 0 8px;font-size:clamp(24px,2.5vw,34px);line-height:1.25;color:#17304d}
.studt-guide-heading p{max-width:690px;margin:0;color:#526b7e;line-height:1.75}
.studt-start-chapter{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:13px;background:#173f60;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 7px 18px rgba(23,63,96,.14)}
.studt-start-chapter:hover{transform:translateY(-2px)}
.studt-guide-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:0 0 18px}
.studt-stat{padding:14px 16px;border:1px solid;border-radius:14px}
.studt-stat span{display:block;margin-bottom:4px;font-size:11px;font-weight:700;color:#6d8292}.studt-stat strong{font-size:17px}
.studt-stat.blue{background:#f1f8fb;border-color:#cde1eb;color:#285f7c}
.studt-stat.gold{background:#fff9ee;border-color:#eadab6;color:#80652c}
.studt-stat.green{background:#f2f9f6;border-color:#c8e0d6;color:#3b7062}
.studt-topic-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.studt-topic-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:14px;border:1px solid #dce6ed;border-radius:14px;background:#fff;color:#17304d;text-decoration:none;transition:.18s ease}
.studt-topic-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(23,48,77,.08)}
.studt-topic-num{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;font-weight:900}
.tone-1 .studt-topic-num{background:#e5f1f7;color:#2f6e8f}.tone-2 .studt-topic-num{background:#e7f3ee;color:#417a69}.tone-3 .studt-topic-num{background:#fbf0d9;color:#8b6b30}.tone-4 .studt-topic-num{background:#eee9f5;color:#735f94}
.studt-topic-copy{min-width:0}.studt-topic-copy strong{display:block;line-height:1.45}.studt-topic-copy small{display:block;margin-top:4px;color:#738695;line-height:1.45}
.studt-topic-arrow{font-size:18px;color:#7c93a2}
.studt-guide-actions{display:flex;gap:10px;align-items:center;margin-top:18px}
.studt-guide-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:800}
.studt-guide-actions .primary{background:#2e718f;color:#fff}.studt-guide-actions .secondary{border:1px solid #d6e2e9;background:#fff;color:#365a70}
@media(max-width:900px){.studt-topic-cards{grid-template-columns:1fr}.studt-guide-heading{display:block}.studt-start-chapter{width:max-content;margin-top:15px}}
@media(max-width:760px){.studt-guide-chapter{padding:18px 16px}.studt-guide-stats{grid-template-columns:1fr}.studt-guide-actions{flex-direction:column;align-items:stretch}.studt-guide-actions a{width:100%}}

/* v0.3.9：首頁去除重複主題清單，改為真正的本章學習入口 */
.studt-guide-entry .studt-entry-heading{margin:15px 0 24px}
.studt-guide-entry .studt-entry-heading h2{margin:0 0 10px;font-size:clamp(28px,3vw,40px);line-height:1.25;color:#17304d}
.studt-guide-entry .studt-entry-heading p{max-width:900px;margin:0;color:#526b7e;font-size:16px;line-height:1.8}
.studt-learning-outcomes{position:relative;margin-top:4px;padding:23px 26px 23px 30px;border:1px solid #dbe6eb;border-radius:18px;background:linear-gradient(115deg,#f8fbfd,#fff 58%,#f5faf8)}
.studt-learning-outcomes:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:5px;border-radius:9px;background:linear-gradient(#2f7899,#4e8a78)}
.studt-learning-outcomes h3{margin:0 0 14px;font-size:20px;color:#17304d}
.studt-outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.studt-outcome-grid>div{display:flex;align-items:flex-start;gap:10px;padding:8px 0;line-height:1.65;color:#35546b}
.studt-outcome-grid i{display:flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#e4f2ec;color:#397664;font-style:normal;font-weight:900}
.studt-chapter-action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:18px 21px;border-radius:17px;background:linear-gradient(110deg,#173f60,#286d8b);color:#fff}
.studt-chapter-action small{display:block;margin-bottom:4px;opacity:.72}.studt-chapter-action strong{font-size:18px}
.studt-chapter-action a{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;padding:12px 17px;border-radius:12px;background:#fff;color:#17415f;text-decoration:none;font-weight:900}
.studt-chapter-action a:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.12)}
.studt-guide-note{margin:15px 2px 0!important;color:#718493!important;font-size:13px!important}

/* v0.3.9：頁尾 CSS 美編 */
.studt-footer{position:relative;max-width:920px;margin:34px auto 0!important;padding:24px 28px 26px!important;text-align:center!important;color:#617789!important;border-top:0!important}
.studt-footer:before{content:"";display:block;width:74px;height:3px;margin:0 auto 17px;border-radius:999px;background:linear-gradient(90deg,#4b86a6,#4f8d79,#b58a46)}
.studt-footer:after{content:"";position:absolute;inset:8px 0 0;z-index:-1;border-radius:20px;background:linear-gradient(120deg,rgba(232,243,248,.48),rgba(255,255,255,.38),rgba(235,246,241,.48));border:1px solid rgba(205,222,231,.72)}
.studt-footer p{margin:4px 0!important;line-height:1.7!important}
.studt-footer p:first-child{font-size:13px;font-weight:800;color:#3f6076!important;letter-spacing:.04em}
.studt-footer p:nth-child(2){font-size:13px;color:#526e80!important}
.studt-footer p:last-child{font-size:12px;color:#81919d!important}

@media(max-width:760px){
 .studt-outcome-grid{grid-template-columns:1fr}
 .studt-learning-outcomes{padding:19px 17px 19px 21px}
 .studt-chapter-action{align-items:flex-start;flex-direction:column}
 .studt-chapter-action a{width:100%;justify-content:center}
 .studt-footer{margin-top:25px!important;padding:20px 16px 22px!important}
}


/* v0.3.10：主題三互動小遊戲手機／平板點選模式 */
#stuTopic3Quiz.studt-touch-ready .stu3-drag{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#stuTopic3Quiz .stu3-drag.studt-tap-selected{
 outline:3px solid rgba(45,121,157,.28)!important;
 border-color:#2f7899!important;
 background:#eaf5fa!important;
 box-shadow:0 7px 18px rgba(47,120,153,.16)!important;
 transform:translateY(-2px)
}
#stuTopic3Quiz .stu3-drop.studt-tap-target{
 cursor:pointer;
 box-shadow:0 0 0 2px rgba(47,120,153,.08) inset
}
@media (pointer:coarse),(max-width:900px){
 #stuTopic3Quiz .stu3-items{gap:10px!important}
 #stuTopic3Quiz .stu3-drag{
   min-height:48px!important;padding:11px 15px!important;font-size:16px!important;
   cursor:pointer!important;user-select:none!important;-webkit-user-select:none!important
 }
 #stuTopic3Quiz .stu3-drop-grid{grid-template-columns:1fr!important;gap:13px!important}
 #stuTopic3Quiz .stu3-drop{
   min-height:132px!important;padding:18px!important;touch-action:manipulation;
   -webkit-tap-highlight-color:transparent
 }
 #stuTopic3Quiz .stu3-drop.studt-tap-target:after{
   content:"點這裡完成分類";display:inline-block;margin-top:10px;padding:5px 9px;
   border-radius:999px;background:rgba(47,120,153,.08);color:#53788d;
   font-size:12px;font-weight:700
 }
 #stuTopic3Quiz .stu3-drop-items .stu3-drag{margin:5px!important}
}


/* v0.3.14 STU Digital Textbook Design System */
.studt-ds-heading{margin:0 0 22px}.studt-auto-topic-badge{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:#e9f2f6;color:#315f78;font-size:14px;font-weight:800;letter-spacing:.04em}.studt-ds-heading h1{margin:12px 0 0;color:#17304d;font-size:clamp(28px,4vw,44px)}
.studt-ds-intro{margin:0 0 22px;padding:18px 21px;border-left:5px solid #4d839b;border-radius:14px;background:#f3f8fa;color:#36576a;font-size:17px;line-height:1.8}.studt-ds-card{margin:22px 0;padding:22px 24px;border:1px solid #dbe6eb;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(23,48,77,.045)}.studt-ds-card h3{margin:0 0 12px;color:#173f60;font-size:21px}.studt-ds-body,.studt-ds-card li{line-height:1.85;color:#36556a}.studt-ds-keypoint{background:#f3f8fb}.studt-ds-definition{background:#f6f4fb}.studt-ds-example{background:#f4f9f6}.studt-ds-think{background:#fff9ee}.studt-ds-warning{background:#fff6f4}.studt-ds-summary{background:#f1f8f5}.studt-table-wrap{overflow:auto}.studt-ds-table table{width:100%;border-collapse:collapse}.studt-ds-table th,.studt-ds-table td{padding:11px 13px;border:1px solid #dce6eb;text-align:left}.studt-ds-table th{background:#f2f6f8;color:#274c62}.studt-options{display:grid;gap:9px;margin-top:14px}.studt-options button{appearance:none;text-align:left;padding:12px 14px;border:1px solid #d6e2e8;border-radius:11px;background:#fff;color:#294b60;cursor:pointer;font-size:15px}.studt-options button:hover{background:#f5f9fb}.studt-options button.is-correct{border-color:#7bad98;background:#edf7f2}.studt-options button.is-wrong{border-color:#d8a097;background:#fff3f1}.studt-feedback{margin-top:12px;padding:12px 14px;border-radius:10px;background:#f4f7f8;color:#38566a}.studt-import-preview{max-width:900px;margin:18px 0;padding:24px;border:1px solid #dce5ea;border-radius:16px;background:#fff}
@media(max-width:760px){.studt-ds-card{padding:18px 16px}.studt-ds-intro{padding:15px 16px}}

/* v0.3.18 自由教材區塊 */
.studt-ds-text{margin:18px 0;color:#36556a;font-size:16px;line-height:1.9}.studt-ds-subheading{margin:30px 0 12px;color:#173f60}.studt-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.studt-compare-col{padding:18px;border:1px solid #dce6eb;border-radius:14px;background:#f8fbfc}.studt-compare-col h4{margin:0 0 10px;color:#24566f}.studt-ds-figure{margin:24px 0;padding:18px;border:1px solid #dbe6eb;border-radius:18px;background:#fff;text-align:center}.studt-ds-figure img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:12px}.studt-ds-figure h3{margin:14px 0 5px;color:#173f60}.studt-ds-figure figcaption{color:#637b8b;line-height:1.7}.studt-diagram-flow{display:flex;align-items:stretch;justify-content:center;gap:10px;flex-wrap:wrap}.studt-diagram-node{min-width:150px;flex:1 1 150px;padding:16px;border:1px solid #cfe0e8;border-radius:14px;background:#f5fafc;text-align:center}.studt-diagram-node strong,.studt-diagram-node small{display:block}.studt-diagram-node small{margin-top:6px;color:#647e8f;line-height:1.55}.studt-diagram-arrow{align-self:center;color:#4c7f98;font-size:24px;font-weight:900}.studt-ds-steps ol{counter-reset:studtstep;list-style:none;padding:0;margin:0}.studt-ds-steps li{counter-increment:studtstep;position:relative;padding:12px 12px 12px 48px;margin:8px 0;border-radius:12px;background:#f7fafb}.studt-ds-steps li:before{content:counter(studtstep);position:absolute;left:12px;top:11px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#2f718f;color:#fff;font-weight:800}.studt-ds-quote blockquote{margin:0;font-size:18px;line-height:1.9;color:#294f66}.studt-ds-quote figcaption{margin-top:10px;color:#728796}.studt-ds-unknown{border-style:dashed;background:#fffaf0}.studt-options button.is-selected{border-color:#4f88a4;background:#eef7fb;box-shadow:0 0 0 2px rgba(79,136,164,.12)}.studt-quiz-submit{margin-top:14px;padding:10px 18px;border:0;border-radius:10px;background:#173f60;color:#fff;font-weight:800;cursor:pointer}.studt-import-types span{display:inline-block;margin:2px 5px 2px 0;padding:4px 8px;border-radius:999px;background:#eef4f7;color:#496b7f;font-size:12px}.studt-ds-table td img{max-width:120px;height:auto}
@media(max-width:760px){.studt-diagram-flow{display:grid;grid-template-columns:1fr}.studt-diagram-arrow{transform:rotate(90deg);justify-self:center}.studt-compare-grid{grid-template-columns:1fr}}


/* v0.3.20：教材圖表與內建教學視覺 */
.studt-ds-chart{margin:24px 0}.studt-chart-bars{display:grid;gap:13px;margin-top:16px}
.studt-chart-row{display:grid;grid-template-columns:minmax(90px,150px) minmax(120px,1fr) minmax(72px,auto);gap:12px;align-items:center}
.studt-chart-label{font-weight:800;color:#31566d}.studt-chart-track{height:24px;border-radius:999px;background:#edf3f6;overflow:hidden}
.studt-chart-fill{display:block;height:100%;min-width:3px;border-radius:999px;background:linear-gradient(90deg,#4f839b,#6e9d8c)}
.studt-chart-value{font-variant-numeric:tabular-nums;color:#4c697b;font-weight:700}.studt-ds-chart figcaption{margin-top:15px;color:#667d8d;line-height:1.7}
.studt-redbean-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0}
.studt-rb-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:150px;min-height:145px;padding:16px;border:1px solid #d8e4e9;border-radius:18px;background:#fafcfd}
.studt-rb-scene strong{margin-top:10px;color:#294f66}.studt-rb-scene small{margin-top:4px;color:#738795}
.studt-rb-pot,.studt-rb-bowl,.studt-rb-spoon,.studt-rb-check{display:grid;place-items:center;min-width:82px;min-height:62px;font-size:21px;font-weight:900;color:#6f4b3e;background:#f4e6df;border:3px solid #8b6555}
.studt-rb-pot{border-radius:10px 10px 28px 28px}.studt-rb-bowl{border-radius:8px 8px 38px 38px}.studt-rb-spoon{border-radius:999px;transform:rotate(-8deg)}.studt-rb-check{border-radius:50%;color:#3d765f;background:#edf7f2;border-color:#6c9a86;font-size:34px}
.studt-rb-arrow{font-size:27px;font-weight:900;color:#6a8797}
@media(max-width:760px){.studt-chart-row{grid-template-columns:88px 1fr}.studt-chart-value{grid-column:2}.studt-redbean-flow{display:grid;grid-template-columns:1fr}.studt-rb-arrow{transform:rotate(90deg)}}


/* =========================================================
 * v0.3.22 自由 HTML 教材視覺元件
 * ========================================================= */
.studt-free-html{margin:1.35rem 0}
.studt-viz{--v-border:#dbe3ea;--v-soft:#f7f9fb;--v-ink:#203040;--v-muted:#607080;color:var(--v-ink)}
.studt-viz *{box-sizing:border-box}
.studt-viz .v-title{font-weight:800;font-size:1.08rem;margin:0 0 .8rem}
.studt-viz .v-sub{color:var(--v-muted);font-size:.92rem;margin-top:.55rem}
.studt-viz .v-flow{display:flex;align-items:stretch;gap:.55rem;flex-wrap:wrap}
.studt-viz .v-node{flex:1 1 125px;min-width:0;border:1px solid var(--v-border);border-radius:16px;background:#fff;padding:1rem;text-align:center}
.studt-viz .v-node .ico{display:block;font-size:1.8rem;margin-bottom:.35rem}
.studt-viz .v-node strong{display:block;font-size:1rem}
.studt-viz .v-node small{display:block;color:var(--v-muted);margin-top:.3rem;line-height:1.5}
.studt-viz .v-arrow{align-self:center;font-size:1.4rem;font-weight:800;color:#7b8794}
.studt-viz .v-data-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}
.studt-viz .v-data{border:1px solid var(--v-border);border-radius:14px;background:#fff;padding:.75rem .35rem;text-align:center}
.studt-viz .v-data b{display:block;font-size:1.25rem}
.studt-viz .v-data span{font-size:.8rem;color:var(--v-muted)}
.studt-viz .v-metric-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;align-items:stretch}
.studt-viz .v-metric{border-radius:18px;padding:1rem;text-align:center;background:var(--v-soft);border:1px solid var(--v-border)}
.studt-viz .v-metric b{display:block;font-size:2rem;line-height:1.1;margin:.2rem 0}
.studt-viz .v-metric span{display:block;font-weight:700}
.studt-viz .v-metric small{display:block;color:var(--v-muted);margin-top:.3rem}
.studt-viz .v-split{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.studt-viz .v-panel{border:1px solid var(--v-border);border-radius:18px;background:#fff;padding:1rem}
.studt-viz .v-panel h4{margin:0 0 .45rem;font-size:1rem}
.studt-viz .v-panel p{margin:.3rem 0;color:var(--v-muted)}
.studt-viz .v-bars{display:grid;gap:.65rem}
.studt-viz .v-bar-row{display:grid;grid-template-columns:58px 1fr 52px;gap:.55rem;align-items:center}
.studt-viz .v-track{height:22px;background:#edf1f4;border-radius:999px;overflow:hidden}
.studt-viz .v-fill{height:100%;border-radius:999px;background:#6e7f91}
.studt-viz .v-question{border:1px dashed #aab6c2;border-radius:18px;background:var(--v-soft);padding:1rem;text-align:center}
.studt-viz .v-question b{display:block;font-size:1.15rem;margin-bottom:.35rem}
.studt-viz .v-eq{font-size:1.15rem;font-weight:800;letter-spacing:.02em}
.studt-viz .v-result{border-radius:18px;background:var(--v-soft);padding:1rem;text-align:center}
.studt-viz .v-result strong{font-size:1.15rem}
@media(max-width:640px){
 .studt-viz .v-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .studt-viz .v-metric-flow,.studt-viz .v-split{grid-template-columns:1fr}
 .studt-viz .v-flow{display:grid;grid-template-columns:1fr}
 .studt-viz .v-arrow{transform:rotate(90deg);justify-self:center}
}


/* =========================================================
 * v0.3.22 彩色數位教材視覺系統
 * ========================================================= */
.studt-viz{
 --blue:#2563eb; --blue-soft:#eff6ff;
 --teal:#0f9f8f; --teal-soft:#ecfdf8;
 --orange:#e88918; --orange-soft:#fff7e8;
 --purple:#7c3aed; --purple-soft:#f5f0ff;
 --green:#27875a; --green-soft:#edf9f2;
 --coral:#d95757; --coral-soft:#fff1f1;
 --ink:#24364b; --muted:#64748b; --line:#dbe5ef;
 color:var(--ink)
}
.studt-viz .v-node,.studt-viz .v-panel,.studt-viz .v-data,.studt-viz .v-metric{
 box-shadow:0 5px 16px rgba(30,55,80,.06)
}
.studt-viz .v-flow .v-node:nth-of-type(1){background:var(--blue-soft);border-color:#b9d3ff}
.studt-viz .v-flow .v-node:nth-of-type(3){background:var(--teal-soft);border-color:#afe7dc}
.studt-viz .v-flow .v-node:nth-of-type(5){background:var(--orange-soft);border-color:#f4d3a1}
.studt-viz .v-flow .v-node:nth-of-type(7){background:var(--purple-soft);border-color:#d8c6ff}
.studt-viz .v-flow .v-node:nth-of-type(9){background:var(--green-soft);border-color:#bfe3cf}
.studt-viz .v-metric-flow .v-metric:nth-child(1){background:var(--blue-soft);border-color:#b9d3ff}
.studt-viz .v-metric-flow .v-metric:nth-child(2){background:var(--orange-soft);border-color:#f4d3a1}
.studt-viz .v-metric-flow .v-metric:nth-child(3){background:var(--green-soft);border-color:#bfe3cf}
.studt-viz .v-data:nth-child(3n+1){background:var(--blue-soft);border-color:#c8dcff}
.studt-viz .v-data:nth-child(3n+2){background:var(--teal-soft);border-color:#bde9e0}
.studt-viz .v-data:nth-child(3n){background:var(--orange-soft);border-color:#f3d9af}
.studt-viz .v-split .v-panel:first-child{background:var(--blue-soft);border-color:#c7dcff}
.studt-viz .v-split .v-panel:last-child{background:var(--purple-soft);border-color:#ddceff}
.studt-viz .v-question{background:var(--purple-soft);border:2px dashed #b99cf4}
.studt-viz .v-result{background:linear-gradient(135deg,var(--green-soft),#fff);border:1px solid #bfe3cf}
.studt-viz .v-bar-row:nth-child(1) .v-fill{background:var(--blue)}
.studt-viz .v-bar-row:nth-child(2) .v-fill{background:var(--teal)}
.studt-viz .v-bar-row:nth-child(3) .v-fill{background:var(--orange)}
.studt-viz .v-track{background:#e8eef5;border:1px solid #d6e0ea}
.studt-viz .v-fill{min-width:8px}
.studt-viz .v-callout{
 border-radius:20px;padding:1.1rem 1.2rem;
 background:linear-gradient(135deg,var(--blue-soft),var(--purple-soft));
 border:1px solid #cbd8f4
}
.studt-viz .v-big{font-size:2.15rem;font-weight:900;line-height:1.05}
.studt-viz .v-tag{display:inline-block;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:800;background:#fff;border:1px solid var(--line)}
.studt-viz .v-stage-blue{background:var(--blue-soft)!important;border-color:#b9d3ff!important}
.studt-viz .v-stage-teal{background:var(--teal-soft)!important;border-color:#afe7dc!important}
.studt-viz .v-stage-orange{background:var(--orange-soft)!important;border-color:#f4d3a1!important}
.studt-viz .v-stage-purple{background:var(--purple-soft)!important;border-color:#d8c6ff!important}
.studt-viz .v-stage-green{background:var(--green-soft)!important;border-color:#bfe3cf!important}
.studt-viz .v-stage-coral{background:var(--coral-soft)!important;border-color:#efbcbc!important}
.studt-viz .v-arrow{color:#52657a}
@media print{
 .studt-viz,.studt-viz *{
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
 }
 .studt-viz .v-fill{
  display:block!important;
  opacity:1!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
 }
 .studt-viz .v-track{display:block!important}
}

/* 主題完成卡：非章末使用 */
.studt-topic-complete{
 margin:1.5rem 0;border:1px solid #bfe3cf;border-radius:20px;
 padding:1.15rem 1.25rem;background:linear-gradient(135deg,#edf9f2,#f8fffb);
 display:flex;align-items:center;gap:1rem
}
.studt-topic-complete .check{
 width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
 background:#27875a;color:#fff;font-weight:900;font-size:1.2rem;flex:0 0 auto
}
.studt-topic-complete strong{display:block;color:#205b42;font-size:1.05rem}
.studt-topic-complete span{display:block;color:#64748b;margin-top:.2rem}

/* v0.3.25：修正自由 HTML 橫向長條圖在寬螢幕被拉散 */
.studt-viz .v-bars{display:grid!important;gap:.75rem!important;max-width:900px!important;margin:.5rem auto!important}
.studt-viz .v-bar-row{display:grid!important;grid-template-columns:72px minmax(180px,1fr) 92px!important;gap:.75rem!important;align-items:center!important}
.studt-viz .v-track{width:100%!important;height:26px!important;display:block!important;overflow:hidden!important;border-radius:999px!important}
.studt-viz .v-fill{height:100%!important;display:block!important;border-radius:999px!important}
.studt-viz .v-bar-row>span:last-child{text-align:left!important;white-space:nowrap!important}
@media(max-width:640px){
 .studt-viz .v-bar-row{grid-template-columns:58px minmax(110px,1fr) 68px!important;gap:.45rem!important}
 .studt-viz .v-track{height:22px!important}
}

/* =========================================================
 * v0.3.25 教材統計長條圖：緊湊卡片版
 * 修正舊版標籤/人數/長條被拉散到整頁兩端
 * ========================================================= */
.studt-viz .v-bars{
 display:grid!important;
 gap:12px!important;
 width:min(100%,760px)!important;
 max-width:760px!important;
 margin:14px auto!important;
}
.studt-viz .v-bar-row{
 display:grid!important;
 grid-template-columns:76px minmax(0,1fr) 82px!important;
 gap:14px!important;
 align-items:center!important;
 width:100%!important;
 min-height:48px!important;
 padding:8px 12px!important;
 background:#fff!important;
 border:1px solid #e2e8f0!important;
 border-radius:14px!important;
 box-shadow:0 2px 8px rgba(31,52,73,.04)!important;
}
.studt-viz .v-bar-row>strong{
 margin:0!important;
 text-align:right!important;
 font-size:1rem!important;
 white-space:nowrap!important;
}
.studt-viz .v-track{
 position:relative!important;
 width:100%!important;
 height:24px!important;
 min-width:0!important;
 background:#edf2f7!important;
 border:0!important;
 border-radius:7px!important;
 overflow:hidden!important;
}
.studt-viz .v-fill{
 display:block!important;
 height:100%!important;
 min-width:0!important;
 border-radius:7px!important;
}
.studt-viz .v-bar-row:nth-child(1) .v-fill{background:#3b82f6!important}
.studt-viz .v-bar-row:nth-child(2) .v-fill{background:#14a394!important}
.studt-viz .v-bar-row:nth-child(3) .v-fill{background:#f59e0b!important}
.studt-viz .v-bar-row>span:last-child{
 margin:0!important;
 text-align:left!important;
 font-size:.95rem!important;
 font-weight:700!important;
 color:#334155!important;
 white-space:nowrap!important;
}
.studt-viz .v-bars + .v-callout,
.studt-viz .v-bars + .v-sub{
 width:min(100%,760px)!important;
 margin:12px auto 0!important;
}
@media(max-width:640px){
 .studt-viz .v-bars{gap:9px!important}
 .studt-viz .v-bar-row{
  grid-template-columns:56px minmax(0,1fr) 62px!important;
  gap:8px!important;padding:7px 9px!important;min-height:42px!important
 }
 .studt-viz .v-track{height:20px!important}
 .studt-viz .v-bar-row>strong{font-size:.92rem!important}
 .studt-viz .v-bar-row>span:last-child{font-size:.88rem!important}
}
@media print{
 .studt-viz .v-bar-row{break-inside:avoid!important}
 .studt-viz .v-fill{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}


/* v0.3.31 共用密碼驗證 */
.studt-access-wrap{min-height:72vh;display:grid;place-items:center;padding:40px 18px}
.studt-access-card{width:min(100%,560px);background:#fff;border:1px solid #dbe6ec;border-radius:24px;padding:38px;box-shadow:0 18px 55px rgba(30,64,84,.12);text-align:center}
.studt-access-lock{width:72px;height:72px;margin:0 auto 16px;border-radius:22px;background:#eef6f8;display:grid;place-items:center;font-size:34px}
.studt-access-kicker{font-size:.76rem;font-weight:800;letter-spacing:.16em;color:#4f7f8d}.studt-access-card h1{margin:8px 0 3px;font-size:1.65rem;color:#173f60}.studt-access-card h2{margin:0 0 12px;font-size:1.1rem;color:#47616f}.studt-access-card p{color:#60737d;line-height:1.75}
.studt-access-form{text-align:left;margin-top:22px}.studt-access-form label{display:block;font-weight:800;color:#294d61;margin-bottom:8px}.studt-access-form input{box-sizing:border-box;width:100%;padding:14px 15px;border:1px solid #b9ccd5;border-radius:12px;font-size:1rem;outline:none}.studt-access-form input:focus{border-color:#397f91;box-shadow:0 0 0 3px rgba(57,127,145,.12)}.studt-access-form button{width:100%;margin-top:12px;border:0;border-radius:12px;padding:14px 16px;background:#245e73;color:#fff;font-size:1rem;font-weight:800;cursor:pointer}.studt-access-form button:hover{filter:brightness(.95)}
.studt-access-error{background:#fff2f0;border:1px solid #f1c4bd;color:#a33b2e;padding:10px 12px;border-radius:10px;margin:14px 0}.studt-access-card small{display:block;margin-top:15px;color:#81919a}
@media(max-width:600px){.studt-access-card{padding:28px 20px;border-radius:18px}.studt-access-wrap{padding:24px 10px}.studt-access-card h1{font-size:1.4rem}}
