@charset "UTF-8";
:root{--bg:#f8f6f3;--paper:#fff;--ink:#2c2732;--muted:#746d7a;--purple:#514065;--soft:#eee8f2;--rose:#b4828e;--line:#e6e1e8;--green:#386853;--amber:#875f2a;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);font-synthesis:none;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.6;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:var(--purple);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #bc8cad;outline-offset:3px}button:disabled{opacity:.5;cursor:default}h1,h2,h3,h4,p{margin:0}button{border:0;background:none}svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none;vertical-align:middle}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--rose)}.skip{position:fixed;top:-80px;left:10px;padding:12px;background:white;z-index:200}.skip:focus{top:10px}.app-shell{display:grid;grid-template-columns:280px minmax(0,740px);gap:52px;max-width:1140px;margin:auto;padding:0 30px}.sidebar{position:sticky;top:0;height:100dvh;padding:44px 0 28px;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center}.brand-mark{position:relative;display:grid;place-items:center;font-size:22px;color:var(--purple);height:50px;width:50px;flex:none;background:var(--soft);border-radius:17px 17px 6px 17px}.brand-mark>span{position:absolute;font-size:13px;top:-7px;right:0;color:var(--rose)}h1{font-size:20px;line-height:1.5;letter-spacing:-.7px;font-weight:750}.brand p{font-size:11px;letter-spacing:1.5px;color:var(--muted);margin-top:3px}.brand .eyebrow{font-size:8px;letter-spacing:1px}.time-strip{display:flex;gap:16px;align-items:center;margin:30px 0;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.time-strip>div{display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:baseline}.time-strip strong{font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:-.8px}.clock-label{color:var(--muted);font-size:12px}.time-strip small{grid-column:1/-1;color:var(--muted);font-size:10px}.clock-divider{width:1px;height:34px;background:var(--line)}.desktop-nav{display:grid;gap:8px}.nav-button{display:flex;align-items:center;gap:13px;min-height:52px;padding:12px 16px;color:var(--muted);border-radius:12px;text-align:left;font-size:15px;font-weight:650}.nav-button.active{background:var(--purple);color:white}.nav-button .nav-sub{margin-left:auto;font-size:10px;font-weight:400;opacity:.65}.sidebar-note{border-top:1px solid var(--line);margin-top:42px;padding-top:28px}.sidebar-note>span{font-size:9px;letter-spacing:1.6px;color:var(--rose)}.sidebar-note p{font-size:23px;line-height:1.65;font-weight:350;letter-spacing:1px;margin:14px 0 30px}.line-art{font-size:12px;color:var(--rose);letter-spacing:2px}.line-art span{font-size:9px;color:var(--muted)}.sidebar-footer{margin-top:auto;padding-top:24px;font-size:11px;color:var(--muted)}.sidebar-footer span{font-size:10px}main{min-width:0;padding:43px 0 70px}h2{font-size:27px;font-weight:740;letter-spacing:-.7px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.page-header p{font-size:13px;color:var(--muted);margin-top:4px}.round-btn{height:44px;min-width:44px;display:inline-flex;gap:6px;align-items:center;justify-content:center;background:white;border:1px solid var(--line);border-radius:50%;padding:8px}.text-btn{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:13px;color:var(--purple);font-weight:650}.next-card{position:relative;background:var(--purple);color:white;border-radius:20px;padding:23px 26px;overflow:hidden;margin-bottom:22px}.next-card:after{content:"";position:absolute;border:1px solid #ffffff18;border-radius:50%;width:165px;height:165px;right:-65px;top:-60px;pointer-events:none}.next-top{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.6px;color:#e0d3eb}.next-top .dot{width:5px;height:5px;background:#d4a9b6;border-radius:50%}.next-main{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:9px}.next-main h3{font-size:20px;line-height:1.5;font-weight:650}.next-main p{font-size:12px;color:#e6ddec;margin-top:3px}.next-card .round-btn{background:#ffffff13;border-color:#ffffff30;color:white;flex:none}.next-foot{font-size:11px;color:#d9cedf;margin-top:13px;padding-top:11px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:8px}.day-bar{position:sticky;top:0;z-index:10;padding:10px 0 12px;background:var(--bg)}.day-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;background:#ede9e7;border-radius:15px;padding:5px}.day-tab{padding:8px 2px;color:var(--muted);border-radius:11px;min-height:59px}.day-tab strong{font-size:16px;font-variant-numeric:tabular-nums;font-weight:700;display:block;line-height:1.5}.day-tab small{font-size:11px}.day-tab.active{background:var(--paper);color:var(--purple);box-shadow:0 2px 7px #3422390c}.day-tab.active strong:after{content:"";display:inline-block;margin:0 0 3px 5px;width:4px;height:4px;background:var(--rose);border-radius:100%}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 9px}.section-head h3{font-size:19px;letter-spacing:-.4px}.section-head .muted{font-size:11px}.switch{display:flex;align-items:center;gap:7px;min-height:44px;font-size:12px;color:var(--muted);cursor:pointer;flex-shrink:0}.switch input{accent-color:var(--purple);width:16px;height:16px;margin:0}.day-note{font-size:12px;color:var(--muted);margin:0 0 17px;line-height:1.7}.day-note.important{background:#f1e8de;border-left:3px solid #ba9160;border-radius:0 9px 9px 0;padding:10px 13px;color:#77542c}.timeline{position:relative;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);overflow:hidden}.stop{position:relative;display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);align-items:stretch}.stop:last-child{border-bottom:0}.stop.current{background:#f6f1f8}.stop-main{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;width:100%;text-align:left;padding:20px 0 20px 17px;min-width:0}.stop-time{text-align:center;padding:0 8px 0 0;border-right:1px solid var(--line);line-height:1.5}.stop-time strong{font-size:18px;font-weight:620;letter-spacing:-.5px;font-variant-numeric:tabular-nums;display:block}.stop-time small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.stop-content{min-width:0}.stop-title,.stop-place{display:block}.stop-content .stop-title{font-size:16px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.stop-content .stop-place{font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.stop-bottom{display:flex;gap:7px;align-items:center;margin-top:7px;flex-wrap:wrap}.tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:5px;display:inline-flex;align-items:center;gap:4px;line-height:1.6;background:#f1eef3;color:#716579}.tag.fixed{background:#eaf2ed;color:var(--green)}.tag.pending{background:#f8efdf;color:var(--amber)}.tag.current-tag{background:var(--purple);color:white}.stop-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 12px 14px 8px;min-width:57px}.camera-btn{min-height:44px;min-width:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--purple);border-radius:10px;background:var(--soft);padding:4px 7px}.camera-btn svg{width:18px;height:18px}.camera-btn small{font-size:10px;font-variant-numeric:tabular-nums}.camera-btn.complete{background:#eaf2ed;color:var(--green)}.row-chevron{color:#a09aa5}.row-chevron svg{width:16px}.day-end{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;color:#aaa1ad;padding:26px 0 10px}.day-end:before,.day-end:after{content:"";width:28px;height:1px;background:var(--line)}.day-footer{display:flex;justify-content:space-between;margin-top:12px}.day-footer button{font-size:13px;min-height:44px;color:var(--purple);padding:8px}.bottom-nav{display:none}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:14px}.panel h3{font-size:16px;margin-bottom:8px}.panel p{font-size:13px;color:var(--muted)}.progress-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress-title strong{font-size:16px}.progress-title span{font-size:14px;font-variant-numeric:tabular-nums;color:var(--purple)}.progress-track{height:5px;border-radius:10px;overflow:hidden;background:var(--soft);margin-top:14px}.progress-track>span{display:block;height:100%;background:var(--rose);transition:width .2s}.progress-note{font-size:11px;color:var(--muted);margin-top:9px;display:flex;justify-content:space-between;align-items:center;gap:8px}.group{margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden}.group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:60px;padding:16px 18px;font-size:15px;font-weight:650}.group>summary::-webkit-details-marker{display:none}.group>summary .chevron{margin-left:auto;color:#968d9d;transition:transform .2s}.group[open]>summary .chevron{transform:rotate(90deg)}.group>summary .chevron svg{width:16px}.group>summary .count{font-size:12px;color:var(--muted);font-weight:400;margin-left:auto}.group>summary .count+.chevron{margin-left:0}.group-body{border-top:1px solid var(--line);padding:0 18px 12px}.check-row{position:relative;display:flex;gap:13px;align-items:flex-start;min-height:56px;padding:16px 0;border-bottom:1px solid #efebf0;cursor:pointer}.check-row:last-of-type{border-bottom:0}.check-row input{margin:2px 0 0;width:22px;height:22px;accent-color:var(--purple);flex:none;cursor:pointer}.check-copy{min-width:0;flex:1}.check-copy strong{display:block;font-size:15px;font-weight:550;line-height:1.65;overflow-wrap:anywhere}.check-copy small{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:3px}.check-row:has(input:checked) .check-copy strong{color:#948b99;text-decoration:line-through}.check-row:has(input:checked) .check-copy small{color:#a69daa}.check-row[hidden]{display:none}.check-source{display:flex;align-items:center;justify-content:flex-start;min-height:40px;font-size:12px;margin:0 0 10px 35px;gap:5px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:46px;font-size:13px;font-weight:600;border-radius:11px;border:1px solid var(--line);background:white;padding:11px 14px}.btn.primary{background:var(--purple);border-color:var(--purple);color:white}.btn.soft{background:var(--soft);border-color:var(--soft);color:var(--purple)}.btn svg{width:17px;height:17px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row>.btn{flex:1}.notice{background:#f3ede5;color:#775b36;border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.8;margin-bottom:16px}.notice a{color:inherit;text-decoration:underline}.help{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.quick-link{display:flex;flex-direction:column;align-items:flex-start;padding:18px;gap:11px;background:white;border:1px solid var(--line);border-radius:15px;min-width:0;text-align:left}.quick-link svg{color:var(--rose);width:24px;height:24px}.quick-link strong{font-size:15px;line-height:1.5}.quick-link small{font-size:11px;color:var(--muted);display:block;font-weight:400}.info-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:60px;padding:13px 0;border-bottom:1px solid var(--line)}.info-link:last-child{border:0}.info-link strong{font-size:14px}.info-link small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.info-link svg{width:16px;color:var(--muted)}.link-list>a{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;min-height:47px;padding:10px 0;border-bottom:1px solid var(--line)}.link-list>a:last-child{border-bottom:0}.link-list svg{width:15px;height:15px}.audit-list{font-size:13px;line-height:1.8;color:var(--muted);padding-left:19px;margin:12px 0}.audit-list li{margin:8px 0}.page-end{text-align:center;font-size:10px;letter-spacing:1px;color:#9b939e;margin-top:28px}.empty{text-align:center;background:white;border:1px dashed var(--line);padding:28px 16px;border-radius:15px;font-size:13px;color:var(--muted)}.loading{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}.loading-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rose);margin-right:8px}.fail{margin:20px 0;padding:24px}.fail h2{font-size:22px}.fail p{margin:12px 0 20px;font-size:14px;color:var(--muted)}
dialog{color:var(--ink);border:0;border-radius:22px;padding:0;background:var(--bg);width:min(620px,calc(100vw - 40px));max-height:90dvh;box-shadow:0 24px 90px #17121e44;overscroll-behavior:contain}dialog::backdrop{background:#21172970;backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.detail-top{position:sticky;top:0;z-index:5;background:var(--bg);padding:16px 22px 13px;border-bottom:1px solid var(--line)}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.back-btn{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 0;font-size:13px;color:var(--muted)}.back-btn svg{width:19px}.detail-top h2{font-size:23px;line-height:1.5}.detail-top .detail-meta{font-size:12px;color:var(--muted);margin-top:6px}.detail-top .tag{font-size:11px}.detail-tabs{display:flex;gap:5px;background:#eae6ed;border-radius:11px;padding:4px;margin-top:17px}.detail-tabs button{flex:1;min-height:40px;font-size:13px;border-radius:8px;color:var(--muted)}.detail-tabs button.active{background:white;color:var(--purple);box-shadow:0 2px 4px #3d294c09;font-weight:650}.detail-body{padding:22px}.detail-body h3{font-size:16px;margin:22px 0 10px}.detail-body h3:first-child{margin-top:0}.detail-body p{font-size:14px;line-height:1.85}.detail-body>.button-row{margin-bottom:18px}.address-card{background:white;border:1px solid var(--line);border-radius:14px;padding:17px;margin:15px 0}.address-card strong{display:block;font-size:15px;margin-bottom:8px}.address-card p{font-size:13px;overflow-wrap:anywhere}.address-card .ko{font-size:16px;margin:10px 0;color:var(--purple);line-height:1.8}.address-card .button-row{margin-top:14px}.copy-field{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#faf7fc;color:var(--purple);font-size:14px;margin:10px 0;resize:none}.bullet-list{font-size:14px;line-height:1.95;margin:12px 0;padding-left:19px}.bullet-list li{padding:3px 0}.source-line{display:block;font-size:11px;margin-top:14px;color:var(--muted);text-decoration:underline}.voice{padding:16px 18px;background:#f0e9f1;border-radius:13px;font-size:15px;line-height:1.95;white-space:pre-line;margin-bottom:16px}.voice-label{display:block;font-size:10px;letter-spacing:1px;color:#937c9a;font-weight:650;margin-bottom:8px}.shot-list{padding:0 17px;background:white;border:1px solid var(--line);border-radius:14px}.shot-list .check-row{padding:17px 0}.shot-list .check-copy strong{font-size:15px}.detail-progress{display:flex;justify-content:space-between;align-items:center;margin:21px 0 10px;font-size:14px}.detail-progress strong{font-size:15px}.detail-progress span{color:var(--purple);font-size:12px}.note-box{margin-top:22px}.note-box summary{font-size:13px;color:var(--muted);cursor:pointer;min-height:44px;padding:12px 0}.note-box textarea{width:100%;min-height:100px;resize:vertical;border:1px solid var(--line);border-radius:12px;background:white;padding:12px;font-size:16px}.flight-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.flight-point{display:flex;flex-direction:column}.flight-point strong{font-size:30px;line-height:1.4;font-variant-numeric:tabular-nums}.flight-point small{color:var(--muted);font-size:12px}.flight-arrow{color:var(--rose)}.flight-tag{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.script-scene{padding:20px 0;border-bottom:1px solid var(--line)}.script-scene:first-child{padding-top:0}.script-scene h3{font-size:17px}.script-scene .scene-meta{font-size:11px;color:var(--rose);margin:5px 0 14px}.script-scene ul{font-size:13px;color:var(--muted);padding-left:19px}.script-scene li{margin:7px 0}.script-note{font-size:12px!important;color:var(--muted)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,10px);z-index:1000;max-width:calc(100vw - 32px);width:max-content;padding:12px 18px;border-radius:12px;background:#2e2639;color:white;font-size:13px;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.all-done{display:none;font-size:12px;color:var(--green);padding:16px 0}.all-done.visible{display:block}.saved-line{font-size:11px;color:var(--muted);margin-top:12px}.print-only{display:none}
@media(hover:hover){.stop-main:hover{background:#faf7fc}.btn:hover,.quick-link:hover,.round-btn:hover{filter:brightness(.97)}.nav-button:not(.active):hover{background:var(--soft)}}
@media(max-width:900px){.app-shell{gap:28px;grid-template-columns:240px minmax(0,1fr);padding:0 24px}.sidebar{padding-top:32px}main{padding-top:32px}.brand-mark{display:none}.time-strip{gap:12px}.time-strip strong{font-size:21px}.stop-main{padding-left:12px;grid-template-columns:54px minmax(0,1fr);gap:11px}.stop-actions{padding-right:9px}.next-card{padding:21px}}
@media(max-width:700px){.app-shell{display:block;padding:0 18px;max-width:600px}.sidebar{position:relative;height:auto;padding:24px 0 0;display:block}.brand{gap:12px}.brand-mark{display:grid;width:43px;height:43px;font-size:20px;border-radius:14px 14px 4px 14px}.brand h1{font-size:21px;letter-spacing:-.75px}.brand .eyebrow{font-size:8px;letter-spacing:1.1px}.brand p{font-size:10px;margin:1px 0 0}.time-strip{margin:19px 0 0;padding:10px 0 13px;gap:18px;justify-content:flex-start;border-top:0;border-bottom:1px solid var(--line)}.time-strip>div{display:flex;gap:8px;align-items:baseline}.time-strip strong{font-size:18px;font-weight:650}.time-strip small{font-size:9px}.clock-label{font-size:11px}.clock-divider{height:18px}.desktop-nav,.sidebar-note,.sidebar-footer{display:none}main{padding:21px 0 110px}.page-header{margin-bottom:14px}.page-header h2{font-size:24px}.page-header p{font-size:12px}.next-card{padding:18px 19px;border-radius:17px;margin-bottom:13px}.next-main h3{font-size:18px}.next-main p{font-size:11px}.next-foot{font-size:10px;margin-top:12px;padding-top:10px}.next-top{font-size:10px}.next-main .round-btn{width:40px;min-width:40px;height:40px}.day-bar{padding-top:9px;padding-bottom:8px;top:0}.day-tab{min-height:53px;padding:6px 2px}.day-tab strong{font-size:15px}.day-tab small{font-size:10px}.section-head{margin-top:12px;margin-bottom:4px;gap:5px}.section-head h3{font-size:18px}.section-head .muted{font-size:10px}.switch{font-size:11px;gap:6px}.day-note{font-size:11px;margin-bottom:12px}.stop-main{padding:17px 0 17px 10px;grid-template-columns:54px minmax(0,1fr);gap:11px}.stop-time{padding-right:7px}.stop-time strong{font-size:17px}.stop-time small{font-size:9px}.stop-content .stop-title{font-size:15px;line-height:1.5}.stop-content .stop-place{font-size:11px;margin-top:4px}.stop-actions{min-width:51px;padding:12px 8px 12px 5px}.stop-bottom{margin-top:7px}.tag{font-size:9px}.camera-btn{min-width:39px;min-height:44px;padding:4px 6px}.camera-btn small{font-size:9px}.camera-btn svg{width:17px;height:17px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);background:#fffffff5;border-top:1px solid var(--line);padding:6px 12px calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.bottom-nav .nav-button{min-height:53px;padding:5px;display:flex;flex-direction:column;gap:3px;justify-content:center;border-radius:10px;color:#817689;font-size:11px;font-weight:550}.bottom-nav .nav-button svg{height:21px;width:21px}.bottom-nav .nav-button.active{background:transparent;color:var(--purple);font-weight:750}.bottom-nav .nav-button.active svg{stroke-width:2.2}.bottom-nav .nav-button.active:before{content:"";position:absolute;top:0;width:26px;height:2px;background:var(--rose);border-radius:2px}.bottom-nav .nav-sub{display:none}.panel{padding:18px}.group>summary{padding:15px 16px}.group-body{padding:0 16px 10px}.quick-links{gap:9px}.quick-link{padding:16px}.toast{bottom:calc(82px + env(safe-area-inset-bottom))}dialog{width:100%;height:100dvh;max-width:none;max-height:100dvh;border-radius:0;margin:0;box-shadow:none}.detail-top{padding:env(safe-area-inset-top) 18px 13px}.detail-toolbar{padding-top:6px;margin-bottom:7px}.detail-top h2{font-size:22px}.detail-body{padding:20px 18px calc(30px + env(safe-area-inset-bottom))}.detail-tabs{margin-top:15px}.detail-top .detail-meta{font-size:11px}.detail-body .btn{font-size:12px;padding:10px 11px}.flight-point strong{font-size:28px}.check-copy strong{font-size:15px}}
@media(max-width:370px){.app-shell{padding:0 13px}.brand h1{font-size:20px}.time-strip{gap:12px}.time-strip>div{gap:6px}.time-strip small{font-size:8px}.stop-main{grid-template-columns:49px minmax(0,1fr);gap:9px;padding-left:7px}.stop-content .stop-title{font-size:14px}.stop-content .stop-place{font-size:10px}.stop-time strong{font-size:16px}.next-main h3{font-size:17px}.next-foot{flex-wrap:wrap}.quick-link{padding:13px}.quick-link strong{font-size:14px}.detail-body{padding-left:14px;padding-right:14px}.brand .eyebrow{letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.sidebar,.bottom-nav,.day-bar,.next-card,.switch,.stop-actions,.page-header button,.day-footer,.page-end,.toast{display:none!important}.app-shell{display:block;max-width:none;padding:0}main{padding:0}.timeline{border-color:#ccc}.stop{break-inside:avoid}.stop-main{padding:12px;display:grid}.stop-time strong{font-size:15px}.stop-content .stop-title{font-size:14px}.stop-content .stop-place{font-size:12px}body{background:white}dialog[open]{position:static;width:100%;max-height:none;height:auto}body:has(dialog[open]) .app-shell{display:none}.detail-top{position:static}.detail-toolbar,.detail-tabs,.button-row,.note-box{display:none!important}}

.place-original{font-size:12px;color:var(--muted);margin:-3px 0 12px;overflow-wrap:anywhere}.address-card .address-zh{font-size:16px;color:var(--ink);margin:12px 0;line-height:1.8}.original-address{margin-top:12px;border-top:1px solid var(--line);padding-top:4px}.original-address summary{min-height:44px;padding:10px 0;font-size:12px;color:var(--muted);cursor:pointer}.original-address p{margin-bottom:8px}

/* V8: direct script access and a searchable source archive. */
select{font:inherit;color:inherit;max-width:100%;background:white;border:1px solid var(--line);border-radius:10px;min-height:46px;padding:9px 30px 9px 10px}select:focus-visible{outline:3px solid #bc8cad;outline-offset:3px}
.script-shortcut{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:white;text-align:left;color:var(--purple);margin-bottom:12px}.script-shortcut>span{flex:1}.script-shortcut strong{display:block;font-size:15px}.script-shortcut small{display:block;font-size:11px;color:var(--muted)}.conditional-label{display:block;color:var(--amber);font-size:11px;margin-top:4px}
.script-tools{display:flex;gap:15px;align-items:center;position:sticky;top:0;background:var(--bg);z-index:10;border-bottom:1px solid var(--line);padding:10px 0}.scene-picker{font-size:12px;color:var(--muted);flex:1;min-width:0;display:grid;gap:4px}.script-tools .switch{align-self:flex-end;min-height:46px}.script-actions{margin:16px 0 20px}.script-scene{scroll-margin-top:105px;padding:24px 0}.scene-heading h3{font-size:20px;line-height:1.5;margin:7px 0 10px}.scene-events{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.event-chip{background:white;border:1px solid var(--line);border-radius:8px;font-size:11px;color:var(--muted);padding:9px 10px;min-height:40px;text-align:left}.script-block{margin:10px 0;padding:12px 15px;border-left:2px solid var(--line);background:#f2efec;border-radius:0 11px 11px 0}.script-block .block-type{display:block;font-size:11px;font-weight:650;letter-spacing:.5px;color:var(--muted);margin-bottom:5px}.script-block p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.script-block.spoken{background:var(--soft);border-left-color:var(--rose);padding:16px}.script-block.spoken p{font-size:17px;line-height:1.95}.script-block.spoken .block-type{color:var(--purple)}.script-block.condition{background:#f6eddd;border-color:#b49363}.script-block.condition .block-type{color:var(--amber)}.spoken-only .direction{display:none}.spoken-only .condition{display:block}.scene-sources{font-size:12px;color:var(--muted);margin-top:16px}.scene-sources summary{min-height:44px;cursor:pointer;padding:10px 0}.scene-sources a{display:block;padding:9px 0;min-height:44px}.script-post{margin-top:25px}.script-post h3{font-size:17px;margin-bottom:12px}
.database-search{background:white;border:1px solid var(--line);border-radius:16px;padding:16px}.database-search>label{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}.database-search input[type=search]{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg);font-size:16px;color:var(--ink)}.db-controls{display:flex;gap:12px;align-items:end;margin-top:12px}.db-controls>label:first-child{display:grid;gap:5px;flex:1;min-width:0;font-size:12px;color:var(--muted)}.db-controls .switch{font-size:12px;min-height:46px}.info-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0 6px}.info-shortcuts .btn{min-width:0;padding:10px 6px}.result-count{font-size:12px;color:var(--muted);padding:13px 0}.record-list{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:24px}.record-row{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:17px 16px;border-bottom:1px solid var(--line)}.record-row:last-child{border-bottom:0}.record-icon{width:32px;flex:none;color:var(--rose)}.record-copy{min-width:0;flex:1}.record-meta{font-size:10px;color:var(--muted);display:block;margin-bottom:3px}.record-copy strong{display:block;font-size:15px;line-height:1.65;overflow-wrap:anywhere}.record-copy small{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);margin-top:4px}.record-row>svg{width:15px;color:var(--muted)}.related-originals,.related-events{margin:22px 0}.related-originals .info-link{font-size:13px}.restaurant-details{margin:20px 0}.original-files{display:grid;gap:10px}.original-file{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:white;border-radius:12px;padding:15px}.original-file>span{min-width:0}.original-file strong{display:block;font-size:14px}.original-file small{display:block;font-size:11px;overflow-wrap:anywhere;color:var(--muted);margin-top:5px}.record-row:hover{background:#faf7fc}
@media(max-width:700px){.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.script-block.spoken p{font-size:17px}.scene-heading h3{font-size:19px}.script-tools{gap:10px}.script-scene{scroll-margin-top:108px}.db-controls{gap:10px}.database-search{padding:14px}.record-row{padding:15px 13px;gap:8px}.record-icon{width:26px}.record-copy strong{font-size:15px}.record-copy small{font-size:11px}.script-block.spoken{padding:14px}.script-block p{font-size:13px}}
@media print{.script-tools,.script-actions,.scene-events,.scene-sources,.script-shortcut,.script-post,.database-search,.info-shortcuts,.page-end{display:none!important}.print-only{display:block}.spoken-only .direction{display:block!important}.script-scene{break-inside:auto;page-break-inside:auto;padding:12px 0}.scene-heading{break-after:avoid}.script-block{break-inside:avoid;background:white!important;padding:6px 12px;margin:6px 0}.script-block.spoken p{font-size:12pt}.script-block p{font-size:10pt}.script-block .block-type{font-size:9pt}.scene-heading h3{font-size:15pt}#app[data-page=script]>.page-header,#app[data-page=script]>.help{display:none}#app[data-page=script]{max-width:none}}

/* V8.2: readable travel essentials and optional outdoor mode. */
:root{--muted:#574e60;--rose:#855064}
.prep-shortcut{width:100%;justify-content:flex-start;margin:12px 0;font-size:16px;border-color:var(--purple)}
.prep-shortcut>svg:last-child{margin-left:auto}
.guide-links{display:grid;gap:9px;margin:12px 0 18px}
.guide-links .btn{justify-content:flex-start;text-align:left;min-height:48px;overflow-wrap:anywhere}
.guide-steps{font-size:16px;line-height:1.85;padding-left:25px;margin:12px 0 20px}
.guide-steps li{padding:8px 0 12px 5px;border-bottom:1px solid var(--line)}
.guide-steps li::marker{font-weight:750;color:var(--purple)}
.arrival-reference{margin-top:20px;overflow-wrap:anywhere}
.page-header p,.panel p,.day-note,.stop-content .stop-place,.check-copy small,.detail-top .detail-meta,.address-card p,.record-copy small{font-size:14px}
.page-header .eyebrow,.time-strip small,.clock-label,.day-tab small,.stop-time small,.camera-btn small,.tag,.section-head .muted,.script-shortcut small,.record-meta,.conditional-label,.progress-note,.saved-line,.page-end,.day-end{font-size:13px}
.day-tab strong{font-size:18px}
.stop-time strong{font-size:21px;font-weight:750;letter-spacing:-.4px}
.stop-content .stop-title,.check-copy strong,.shot-list .check-copy strong,.record-copy strong{font-size:17px;font-weight:650}
.stop-main{grid-template-columns:76px minmax(0,1fr)}
.day-end,.page-end,.row-chevron{color:var(--muted)}
.switch,.text-btn,.back-btn,.help,.check-source,.source-line,.result-count,.database-search>label,.db-controls>label:first-child,.scene-picker,.scene-sources{font-size:14px}
.btn,.detail-body .btn,.detail-tabs button,.day-footer button,.link-list>a,.audit-list{font-size:15px;min-height:48px}
.detail-body p,.detail-body .address-card p,.bullet-list,.script-block p{font-size:16px}
.detail-body h3{font-size:18px}
.script-block.spoken p{font-size:18px}
.script-block .block-type,.event-chip,.original-file small,.info-link small,.flight-point small,.flight-tag{font-size:14px}
.event-chip,.check-source,.source-line{min-height:44px}
.source-line{display:flex;align-items:center}
.next-top,.next-main p,.next-foot{font-size:14px;color:#fff}
.next-main h3{font-size:22px;font-weight:750}
.next-foot{flex-wrap:wrap}
.day-tab{min-height:64px}
.day-tab.active{outline:2px solid var(--purple);outline-offset:-2px}
.section-head,.detail-progress,.script-tools{flex-wrap:wrap}
.section-head>div:first-child{min-width:0}
.section-head .switch{margin-left:auto}
.switch input{width:21px;height:21px}
.record-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.check-row:has(input:checked) .check-copy strong,.check-row:has(input:checked) .check-copy small{color:var(--muted)}
.check-row:has(input:checked) .check-copy strong{text-decoration-thickness:2px}
.bottom-nav .reading-toggle.active{outline:2px solid var(--purple);outline-offset:-3px;background:var(--soft)}
.bottom-nav .reading-toggle.active:before{display:none}
@media(max-width:700px){
 .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;backdrop-filter:none;padding-left:8px;padding-right:8px}
 .bottom-nav .nav-button{font-size:13px;min-height:58px;font-weight:650;color:var(--muted);padding:5px 2px}
 .bottom-nav .nav-button.active{color:var(--purple)}
 .bottom-nav .nav-button.active:before{height:3px;background:var(--purple)}
 .bottom-nav .reading-toggle.active{background:var(--soft)}
 .stop-main{padding-left:10px;grid-template-columns:68px minmax(0,1fr);gap:10px}
 .camera-btn{min-width:44px;min-height:48px}
 .stop-actions{padding:10px 7px 10px 3px;min-width:54px}
 .time-strip{gap:10px;flex-wrap:wrap}
 .time-strip>div{flex-wrap:wrap;gap:3px 7px}
 .time-strip strong{font-size:22px}
 .next-main .round-btn{width:44px;min-width:44px;height:44px}
 .script-tools .scene-picker{flex-basis:180px}
 .script-scene{scroll-margin-top:165px}
 .day-tabs{gap:4px;padding:5px}
 .day-tab{padding:8px 1px}
 .day-tab small{display:block;line-height:1.6;font-size:12px}
 .day-tab.active strong:after{display:none}
 .info-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .db-controls{flex-wrap:wrap}
 .db-controls .switch{font-size:14px}
 .detail-tabs button{min-height:48px}
 .detail-body{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
}
:root.outdoor{--bg:#fff;--paper:#fff;--ink:#101010;--muted:#303030;--purple:#29163c;--soft:#f1edf5;--rose:#5e2441;--line:#767676;--green:#16462d;--amber:#553300}
.outdoor body{line-height:1.8}
.outdoor .next-card{background:#29163c;box-shadow:none}
.outdoor .next-card:after{display:none}
.outdoor .day-tabs,.outdoor .detail-tabs{background:#f1edf5}
.outdoor .day-tab{color:#202020}
.outdoor .day-tab.active,.outdoor .detail-tabs button.active{background:#29163c;color:#fff;box-shadow:none}
.outdoor .day-tab.active strong:after{background:#fff}
.outdoor .day-tab strong{font-size:20px}
.outdoor .stop-time strong{font-size:24px;font-weight:800}
.outdoor .stop-content .stop-title,.outdoor .record-copy strong,.outdoor .check-copy strong,.outdoor .script-shortcut strong{font-size:19px;font-weight:750}
.outdoor .stop-content .stop-place,.outdoor .day-note,.outdoor .page-header p,.outdoor .check-copy small,.outdoor .record-copy small,.outdoor .next-main p,.outdoor .next-top,.outdoor .next-foot{font-size:16px}
.outdoor .tag,.outdoor .stop-time small,.outdoor .camera-btn small,.outdoor .record-meta,.outdoor .conditional-label,.outdoor .section-head .muted,.outdoor .day-tab small{font-size:14px;font-weight:650}
.outdoor .tag{color:#29202f;background:#f1edf5;border:1px solid currentColor}
.outdoor .tag.fixed{color:var(--green);background:#eaf2ed}
.outdoor .tag.pending{color:var(--amber);background:#fff2db}
.outdoor .tag.current-tag{color:#fff;background:#29163c}
.outdoor .day-note.important,.outdoor .notice{color:#3d280f;background:#fff2db;border:2px solid #765021}
.outdoor .script-block{background:#fff;border:1px solid #767676;border-left-width:4px}
.outdoor .script-block.spoken{background:#f1edf5;border-color:#29163c}
.outdoor .script-block.condition{background:#fff2db;border-color:#765021}
.outdoor .script-block.spoken p{font-size:22px;line-height:1.85}
.outdoor .detail-body p,.outdoor .detail-body .address-card p,.outdoor .bullet-list,.outdoor .guide-steps,.outdoor .script-block p{font-size:18px}
.outdoor .help,.outdoor .text-btn,.outdoor .back-btn,.outdoor .switch,.outdoor .btn,.outdoor .detail-body .btn,.outdoor .detail-tabs button,.outdoor .check-source,.outdoor .source-line{font-size:16px;font-weight:600}
.outdoor .stop.current{background:#f1edf5;border-left:4px solid #29163c}
.outdoor .timeline,.outdoor .record-list,.outdoor .group,.outdoor .panel,.outdoor .address-card{border-width:2px}
.outdoor .bottom-nav{border-top:2px solid #29163c}
.outdoor .bottom-nav .nav-button{color:#303030;font-size:14px}
.outdoor .bottom-nav .nav-button.active{color:#29163c;font-weight:800}
.outdoor .bottom-nav .reading-toggle.active{background:#29163c;color:#fff}
.outdoor .check-row input{width:26px;height:26px}
.outdoor .stop-main{grid-template-columns:80px minmax(0,1fr)}
.outdoor .camera-btn{min-width:48px;min-height:56px}
.outdoor .day-tab small{font-size:13px}
@media(max-width:370px){.outdoor .stop-main{grid-template-columns:73px minmax(0,1fr);gap:8px}.outdoor .stop-actions{min-width:54px;padding-right:4px}.outdoor .day-tab small{font-size:12px}}
@media print{.reading-toggle,.prep-shortcut{display:none!important}}
/* Front-of-site editing: full-height mobile sheet, comfortable touch targets. */
.edit-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 22px}.edit-toolbar>span{font-size:13px;color:var(--muted)}
#editor{width:min(720px,100%);max-height:94dvh;margin:auto;border:1px solid var(--line);border-radius:20px;padding:0;background:var(--bg,#fff);color:var(--ink);overflow:auto}#editor::backdrop{background:#15101b99}.editor-top{position:sticky;top:0;z-index:3;background:var(--bg,#fff);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.editor-top h2{font-size:22px;margin:0}.editor-body{padding:20px}.editor-body h3{margin:26px 0 12px}.editor-row{display:flex;width:100%;text-align:left;gap:12px;justify-content:space-between;align-items:center;background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:15px;margin:10px 0;color:var(--ink);min-height:58px}.editor-row>span:first-child{min-width:0}.editor-row>span:last-child{flex-shrink:0;color:var(--purple)}.editor-row strong{display:block;font-size:17px}.editor-row small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.5;margin-top:5px;color:var(--muted)}.edit-field{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:650;margin-bottom:18px}.edit-field input,.edit-field select,.edit-field textarea{font:inherit;font-weight:400;width:100%;min-width:0;box-sizing:border-box;border:1.5px solid #79717f;border-radius:10px;padding:12px;min-height:48px;background:#fff;color:#18121d}.edit-field textarea{line-height:1.65;resize:vertical}.editor-save{position:sticky;bottom:0;background:var(--bg,#fff);padding:15px 0;display:flex;gap:12px}.editor-save .primary{flex:1}.edit-privacy{font-size:14px;line-height:1.6;padding:12px;border-left:4px solid #a06c32;background:#f3e9db;color:#583914}.danger{color:#9b1924!important;border-color:#9b1924!important;margin-top:20px}#edit-error{color:#9b1924;font-weight:650;line-height:1.6}.editor-body button{min-height:48px}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){#editor{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.editor-top{padding-top:max(16px,env(safe-area-inset-top))}.editor-body{padding:18px 18px calc(24px + env(safe-area-inset-bottom))}.editor-save{padding-bottom:max(15px,env(safe-area-inset-bottom))}}html.outdoor .edit-field{font-size:19px}html.outdoor .editor-row strong{font-size:19px}
.source-hub{background:var(--card,#fff);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:24px}.source-hub>h3{margin:0}.source-hub>p{font-size:15px;color:var(--muted);line-height:1.6}.source-hub .related-originals>h3{display:none}.source-card{padding:16px 0;border-bottom:1px solid var(--line)}.source-card:last-of-type{border-bottom:0}.source-card>strong{display:block;font-size:18px}.source-card>p{font-size:15px;line-height:1.65;margin:8px 0 12px}.source-card .btn{min-height:48px;margin:0 12px 8px 0}.source-card .text-btn{min-height:44px}.place-resources{padding:18px;border:2px solid var(--line);border-radius:18px;background:var(--card,#fff);margin:16px 0 20px}.place-resources h3{margin-top:0}.korean-store{display:block;font-size:20px;line-height:1.5;margin-bottom:16px}.entrance-photos{display:grid;grid-template-columns:1fr;gap:12px}.entrance-photos figure{margin:0}.entrance-photos img{display:block;width:100%;max-height:440px;object-fit:contain;background:#f0eded;border-radius:10px}.entrance-photos figcaption{font-size:14px;line-height:1.6;color:var(--muted);padding:8px 0}.entrance-tip{font-size:18px;font-weight:650;line-height:1.65}.place-resources .button-row{display:flex;flex-wrap:wrap;gap:10px}.place-resources .btn{min-height:48px}.source-line{overflow-wrap:anywhere}html.outdoor .entrance-tip{font-size:21px}html.outdoor .source-card>p{font-size:18px}

.auth-dialog{width:min(92vw,460px);max-height:90dvh;overflow:auto;border:0;border-radius:20px;padding:24px;color:#292331}.auth-dialog::backdrop{background:#201b2bcc}.auth-dialog input{display:block;box-sizing:border-box;width:100%;font:inherit;font-size:18px;padding:14px;margin:12px 0;border:2px solid #655373;border-radius:10px}.auth-dialog label{font-weight:700}#auth-error{color:#922722}
