/* Orriden Productions shares the account palette, from project setup to source. */
.productions-active .content,.tools-active .content { max-width:none; padding:0; min-height:100dvh; }
.productions-active .app-footer,.tools-active .app-footer { display:none; }
.pr-root { min-height:100dvh; color:var(--ink); --pr-accent:var(--button,var(--green)); --pr-soft:var(--soft,var(--paper)); }
.pr-root button,.pr-root input,.pr-root select,.pr-root textarea { font:inherit; }
.pr-root button { color:inherit; }
.pr-root [hidden] { display:none !important; }
.pr-header { padding:32px 34px 25px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.pr-kicker { color:var(--muted); letter-spacing:2px; font-size:9px; font-weight:600; }
.pr-header h1 { margin:10px 0 8px; font-size:30px; letter-spacing:-1.15px; line-height:1.15; overflow-wrap:anywhere; }
.pr-header p { color:var(--muted); font-size:12px; margin:0; }
.pr-actions,.pr-subnav,.pr-editor-meta,.pr-editor-meta>div { display:flex; align-items:center; gap:10px; }
.pr-btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; padding:10px 15px; min-height:37px; background:var(--paper); border:1px solid var(--line); border-radius:8px; font-size:11px !important; font-weight:500; white-space:nowrap; cursor:pointer; }
.pr-btn:hover { border-color:var(--green); background:var(--soft); }
.pr-btn:disabled { opacity:.45; cursor:not-allowed; }
.pr-btn.pr-primary { background:var(--button,var(--green)); color:var(--button-text,#fff); border-color:transparent; }
.pr-btn.pr-primary:hover { background:var(--button-hover,var(--green)); }
.pr-root :focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.pr-subnav { padding:20px 34px; justify-content:space-between; color:var(--muted); font-size:11px; }
.pr-subnav .pr-btn { background:transparent; }
.pr-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:36px 34px; }
.pr-category { min-height:290px; padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--paper); position:relative; text-align:left; transition:transform .18s,border-color .18s; }
.pr-category:hover { transform:translateY(-4px); border-color:var(--green); }
.pr-category h2 { font-size:24px; margin:38px 0 10px; letter-spacing:-.7px; }
.pr-category p { color:var(--muted); line-height:1.7; font-size:12px; max-width:220px; }
.pr-category-symbol { display:grid; place-items:center; width:48px; height:48px; background:var(--soft); border:1px solid var(--line); border-radius:13px; color:var(--green); font-size:23px; }
.pr-category-arrow { position:absolute; top:28px; right:28px; color:var(--muted); font-size:22px; }
.pr-project-grid { padding:10px 34px 40px; display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:18px; }
.pr-project { padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:14px; text-align:left; min-width:0; }
.pr-project:hover { border-color:var(--green); }
.pr-project-icon { display:block; color:var(--green); font-family:monospace; font-size:24px; margin-bottom:30px; }
.pr-project small { color:var(--muted); font-size:10px; }
.pr-project h2 { margin:10px 0; font-size:21px; overflow-wrap:anywhere; }
.pr-project p { color:var(--muted); font-size:12px; line-height:1.65; min-height:36px; }
.pr-project footer { display:flex; justify-content:space-between; padding-top:20px; margin-top:20px; border-top:1px solid var(--line); font-size:10px; color:var(--muted); }
.pr-empty { grid-column:1/-1; width:100%; padding:70px 28px; text-align:center; border:1px dashed var(--line); border-radius:16px; }
.pr-empty>span { color:var(--green); font-size:30px; }
.pr-empty h2 { font-size:25px; letter-spacing:-.7px; margin-top:22px; }
.pr-empty p { color:var(--muted); font-size:12px; margin:12px auto 25px; max-width:400px; line-height:1.8; }
.pr-local-banner { margin:0 34px 24px; padding:12px 16px; background:var(--soft); border:1px solid var(--line); border-radius:9px; display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:11px; color:var(--muted); }
.pr-error { margin:14px 34px; padding:12px 16px; border:1px solid var(--line); border-left:3px solid #ef7180; color:var(--ink); background:var(--paper); font-size:12px; line-height:1.7; }
.pr-form { display:grid; grid-template-columns:minmax(200px,.8fr) minmax(300px,1.2fr); gap:60px; padding:30px 7% 70px; }
.pr-form-intro { padding-top:5px; }
.pr-step { font-size:10px; letter-spacing:2px; color:var(--green); }
.pr-form-intro h2 { font-size:32px; letter-spacing:-1.1px; line-height:1.2; max-width:260px; margin:20px 0; }
.pr-form-intro p { color:var(--muted); max-width:270px; font-size:12px; line-height:1.9; }
.pr-form-fields { display:flex; flex-direction:column; gap:22px; min-width:0; }
.pr-form label,.pr-member-form label,.pr-inline-panel label { display:flex; flex-direction:column; gap:9px; font-size:12px; line-height:1.5; }
.pr-form input,.pr-form textarea,.pr-form select,.pr-member-form input,.pr-inline-panel input,.pr-explorer select { width:100%; padding:12px 13px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:8px; outline-offset:2px; font-size:12px; }
.pr-form textarea { resize:vertical; }
.pr-optional { display:inline; color:var(--muted); font-size:10px; }
.pr-field-hint { font-size:10px; color:var(--muted); font-weight:400; line-height:1.8; }
.pr-form fieldset { border:0; padding:0; margin:0; }
.pr-form legend { font-size:12px; margin-bottom:12px; }
.pr-form .pr-radio { display:flex; flex-direction:row; align-items:flex-start; gap:12px; padding:17px; margin-bottom:10px; border:1px solid var(--line); border-radius:10px; background:var(--paper); cursor:pointer; }
.pr-radio:has(input:checked) { border-color:var(--green); background:var(--soft); }
.pr-radio input { width:15px; height:15px; flex-shrink:0; margin-top:2px; accent-color:var(--green); }
.pr-radio small { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.pr-form .pr-error { margin:0; }
.pr-companies { padding:0 34px 50px; display:flex; flex-direction:column; gap:22px; }
.pr-company { border:1px solid var(--line); border-radius:14px; padding:25px; background:var(--paper); }
.pr-company-title { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.pr-company h2 { margin:9px 0; font-size:22px; }
.pr-company p { font-size:12px; color:var(--muted); line-height:1.8; }
.pr-badge { border:1px solid var(--line); color:var(--muted); border-radius:20px; padding:7px 11px; font-size:10px; white-space:nowrap; }
.pr-badge.is-verified { color:var(--green); background:var(--soft); }
.pr-dns,.pr-members { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.pr-company h3 { font-size:15px; }
.pr-dns label { display:grid; grid-template-columns:120px 1fr; align-items:start; padding:12px 0; gap:10px; font-size:11px; color:var(--muted); }
.pr-dns code { color:var(--ink); user-select:all; overflow-wrap:anywhere; line-height:1.7; }
.pr-member { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:12px; padding:8px 0; }
.pr-member-form { display:flex; align-items:flex-end; gap:12px; margin-top:18px; }
.pr-member-form label { flex:1; }
.pr-editor-shell { height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
.pr-editor-shell .pr-header { padding:20px 26px 17px; flex-shrink:0; }
.pr-editor-shell .pr-header h1 { font-size:23px; margin:8px 0 6px; }
.pr-editor-shell .pr-header p { font-size:10px; }
.pr-editor-meta { min-height:54px; padding:9px 22px; gap:18px; border-bottom:1px solid var(--line); font-size:10px; color:var(--muted); flex-shrink:0; flex-wrap:wrap; }
.pr-editor-meta>div { margin-left:auto; }
.pr-editor-meta .pr-btn { min-height:29px; padding:6px 10px; font-size:10px !important; }
.pr-editor-work { display:flex; flex:1; min-height:0; }
.pr-explorer { width:186px; flex:0 0 186px; border-right:1px solid var(--line); background:var(--paper); padding:21px 0 14px; display:flex; flex-direction:column; min-height:0; overflow:auto; }
.pr-explorer-label { padding:0 18px 18px; color:var(--muted); font-size:9px; letter-spacing:2px; }
.pr-explorer>strong { padding:0 18px 15px; font-size:11px; overflow-wrap:anywhere; }
.pr-file { width:100%; display:flex; align-items:center; gap:9px; padding:11px 16px; text-align:left; color:var(--muted) !important; border:0; border-left:2px solid transparent; background:transparent; font-family:ui-monospace,monospace !important; font-size:10px !important; }
.pr-file>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pr-file>span:first-child { color:var(--green); }
.pr-file.active { color:var(--ink) !important; background:var(--soft); border-left-color:var(--green); }
.pr-explorer-bottom { margin-top:auto; padding:25px 14px 4px; color:var(--muted); font-size:9px; line-height:2; }
.pr-explorer select { margin:7px 0 12px; padding:7px; font-size:10px; }
.pr-workbench { display:flex; flex-direction:column; min-width:0; flex:1; }
.pr-tabs { display:flex; overflow:auto; min-height:44px; flex-shrink:0; background:var(--paper); border-bottom:1px solid var(--line); }
.pr-tabs>button { font-size:10px; padding:13px 17px; color:var(--muted); background:transparent; border:0; border-right:1px solid var(--line); border-top:2px solid transparent; white-space:nowrap; }
.pr-tabs>button.active { color:var(--ink); background:var(--bg); border-top-color:var(--green); }
.pr-tabs .pr-split-toggle { margin-left:auto; }
.pr-editor-panes { display:flex; flex:1; min-height:0; min-width:0; }
.pr-code-pane { display:flex; flex-direction:column; width:50%; min-width:0; }
.pr-file-toolbar { display:flex; justify-content:space-between; align-items:center; min-height:39px; padding:4px 12px; color:var(--muted); font-size:9px; border-bottom:1px solid var(--line); gap:8px; }
.pr-file-toolbar>div { display:flex; gap:6px; }
.pr-file-toolbar .pr-btn { min-height:24px; padding:4px 7px; border-color:transparent; background:transparent; font-size:9px !important; }
.pr-code-scroll { display:flex; flex:1; min-height:0; position:relative; }
#pr-lines { flex:0 0 44px; margin:0; padding:18px 10px 18px 0; color:var(--muted); text-align:right; user-select:none; overflow:hidden; font:11px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace; opacity:.65; }
#pr-source { width:100%; min-width:0; flex:1; resize:none; border:0; outline:none; border-radius:0; padding:18px 16px 18px 0; margin:0; color:var(--ink); background:transparent; font:11px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre; overflow:auto; tab-size:2; }
#pr-source:focus-visible { outline:none; }
.pr-code-status { display:flex; justify-content:space-between; padding:7px 12px; border-top:1px solid var(--line); font-size:9px; color:var(--muted); }
.pr-preview-pane { display:flex; flex-direction:column; width:50%; border-left:1px solid var(--line); min-width:0; background:var(--paper); }
.pr-preview-toolbar { min-height:39px; display:flex; justify-content:space-between; align-items:center; padding:6px 12px; border-bottom:1px solid var(--line); font-size:9px; letter-spacing:1.4px; color:var(--muted); }
.pr-preview-toolbar>div { display:flex; gap:8px; }
.pr-preview-toolbar button { background:transparent; color:var(--muted); font-size:17px; padding:0 3px; }
.pr-preview-stage { flex:1; display:flex; justify-content:center; min-height:0; overflow:auto; background:var(--soft); }
#pr-preview-frame { width:100%; max-width:100%; height:100%; border:0; background:white; flex-shrink:0; }
.pr-view-code .pr-code-pane,.pr-view-preview .pr-preview-pane { width:100%; }
.pr-view-code .pr-preview-pane,.pr-view-preview .pr-code-pane { display:none; }
.pr-console { height:114px; min-height:70px; flex-shrink:0; border-top:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column; }
.pr-console>header { display:flex; justify-content:space-between; align-items:center; min-height:33px; padding:4px 14px; font-size:9px; color:var(--muted); letter-spacing:1.3px; border-bottom:1px solid var(--line); }
.pr-console .pr-btn { background:transparent; border:0; padding:2px; min-height:18px; font-size:9px !important; }
#pr-output { overflow:auto; padding:10px 14px; font:10px/1.8 ui-monospace,monospace; }
#pr-output>div { display:flex; gap:13px; overflow-wrap:anywhere; }
#pr-output>div>span:first-child { color:var(--muted); width:36px; flex-shrink:0; }
#pr-output>.pr-log-error>span:first-child { color:#f17b8a; }
#pr-output>.pr-log-warn>span:first-child { color:#c59d50; }
.pr-output-empty { color:var(--muted); }
.pr-inline-panel { padding:16px 20px; background:var(--paper); border-bottom:1px solid var(--line); display:flex; gap:15px; align-items:center; flex-shrink:0; }
.pr-inline-panel>div,.pr-inline-panel>label { flex:1; min-width:0; }
.pr-inline-panel strong { font-size:12px; }
.pr-inline-panel p { font-size:11px; color:var(--muted); line-height:1.7; margin:5px 0; }
.pr-inline-panel input { padding:8px 10px; font-size:11px; }
.pr-runtime { margin:auto; padding:35px; max-width:400px; text-align:center; }
.pr-runtime>span { font-size:35px; color:var(--green); }
.pr-runtime h2 { font-size:21px; margin:20px 0; }
.pr-runtime p { color:var(--muted); line-height:1.9; font-size:12px; overflow-wrap:anywhere; }
@media(min-width:1500px){.pr-code-pane{width:55%}.pr-preview-pane{width:45%}}
@media(max-width:1100px){.pr-explorer{width:150px;flex-basis:150px}.pr-tabs>button{padding:13px 10px}.pr-header{padding:26px}.pr-category-grid{gap:14px;padding:28px}.pr-category{padding:20px}.pr-category h2{font-size:21px}.pr-form{gap:35px;padding:25px 30px 50px}.pr-editor-meta{gap:8px;padding:9px 12px}}
@media(max-width:850px){.pr-category-grid{grid-template-columns:1fr}.pr-category{min-height:190px}.pr-category h2{margin-top:22px}.pr-category p{max-width:none}.pr-form{grid-template-columns:1fr}.pr-form-intro h2,.pr-form-intro p{max-width:none}.pr-explorer{width:130px;flex-basis:130px}.pr-view-split{flex-direction:column}.pr-view-split .pr-code-pane,.pr-view-split .pr-preview-pane{width:100%;height:50%}.pr-preview-pane{border-left:0;border-top:1px solid var(--line)}.pr-header{align-items:flex-start}.pr-header h1{font-size:25px}.pr-header p{line-height:1.7}.pr-actions{flex-wrap:wrap;justify-content:flex-end}.pr-dns label{grid-template-columns:1fr}.pr-company-title{align-items:flex-start}.pr-local-banner{align-items:flex-start}}
@media(max-width:540px){.pr-header{padding:24px 18px;flex-direction:column;gap:15px}.pr-header h1{font-size:26px}.pr-actions{justify-content:flex-start}.pr-subnav{padding:17px 18px}.pr-project-grid,.pr-companies{padding:0 18px 30px}.pr-local-banner{margin:0 18px 20px}.pr-category-grid{padding:22px 18px}.pr-form{padding:18px;gap:20px}.pr-explorer{width:105px;flex-basis:105px}.pr-file{padding:10px 8px;font-size:9px !important}.pr-editor-shell .pr-header{padding:18px 14px;flex-direction:row}.pr-editor-shell .pr-header h1{font-size:18px}.pr-editor-shell .pr-header p{display:none}.pr-editor-shell .pr-actions{gap:5px}.pr-editor-shell .pr-actions .pr-btn{padding:8px;font-size:9px !important}.pr-editor-meta>div{margin-left:0}.pr-console{height:95px}.pr-tabs>button{font-size:9px}.pr-member-form,.pr-inline-panel{flex-wrap:wrap}.pr-inline-panel>div,.pr-inline-panel>label{flex-basis:100%}}
@media(max-width:900px){.productions-active .pr-header,.tools-active .pr-header{padding-top:54px}}
/* Visual authoring uses the same source and preview area, without a code pane. */
.pr-view-visual .pr-code-pane { display:none; }
.pr-view-visual .pr-preview-pane { width:100%; }
.pr-visual-canvas { flex:1; min-width:0; height:100%; overflow:auto; display:flex; justify-content:center; }
.pr-visual-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:10px 15px; background:var(--paper); border-bottom:1px solid var(--line); flex-shrink:0; }
.pr-visual-toolbar>div { display:flex; align-items:center; gap:7px; }
.pr-visual-toolbar strong { font-size:10px; font-weight:500; margin-right:8px; }
.pr-visual-toolbar .pr-btn { padding:6px 9px; min-height:28px; font-size:10px !important; }
.pr-visual-dot { width:6px; height:6px; border-radius:50%; background:#639bff; }
.pr-visual-inspector { width:205px; flex:0 0 205px; padding:19px 15px; background:var(--paper); border-left:1px solid var(--line); overflow:auto; }
.pr-visual-title { display:flex; flex-direction:column; gap:10px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.pr-visual-title>span { color:var(--muted); font-size:9px; letter-spacing:1.5px; }
.pr-visual-title strong { font-size:12px; font-weight:500; font-family:ui-monospace,monospace; }
#pr-visual-empty { padding:30px 0; }
#pr-visual-empty>span { font-size:25px; color:#639bff; }
#pr-visual-empty h3 { font-size:16px; margin:17px 0 12px; }
#pr-visual-empty p { font-size:11px; color:var(--muted); line-height:1.9; }
#pr-visual-fields { padding-top:20px; }
.pr-visual-inspector label { display:flex; flex-direction:column; gap:8px; font-size:10px; margin-bottom:19px; }
.pr-visual-inspector input,.pr-visual-inspector select,.pr-visual-inspector textarea { width:100%; border:1px solid var(--line); border-radius:6px; background:var(--bg); padding:8px; color:var(--ink); font:11px/1.6 inherit; }
.pr-visual-inspector textarea { resize:vertical; min-height:70px; }
.pr-visual-inspector input[type=color] { height:34px; padding:3px; cursor:pointer; }
.pr-visual-inspector input[type=file] { font-size:9px; padding:6px; }
.pr-move-controls { display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--line); padding-top:18px; }
.pr-move-controls .pr-btn { font-size:10px !important; padding:8px; min-height:30px; }
.pr-view-visual+.pr-console { height:76px; }
@media(max-width:1100px){.pr-visual-inspector{width:175px;flex-basis:175px;padding:16px 12px}.pr-visual-toolbar{gap:8px;padding:9px}.pr-visual-toolbar .pr-btn{font-size:9px !important;padding:5px 7px}.pr-visual-toolbar strong{display:none}}
@media(max-width:650px){.pr-view-visual .pr-preview-stage{flex-direction:column;overflow:auto}.pr-view-visual .pr-visual-canvas{height:55dvh;min-height:360px;flex:0 0 auto;width:100%}.pr-visual-inspector{width:100%;flex:0 0 auto;border-left:0;border-top:1px solid var(--line)}#pr-text-style{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pr-move-controls{flex-direction:row;flex-wrap:wrap}.pr-view-visual .pr-preview-pane{height:100%}.pr-visual-toolbar>div{flex-wrap:wrap}}
.pr-image-upload { margin-bottom:20px; }
.pr-image-upload>label { margin-bottom:9px; }
.pr-image-upload>.pr-btn { width:100%; }
.pr-geometry-fields { border-top:1px solid var(--line); padding-top:18px; margin-bottom:18px; }
.pr-geometry-heading { color:var(--muted); font-size:10px; margin-bottom:14px; }
.pr-geometry-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pr-geometry-grid label { position:relative; margin-bottom:7px; font-size:10px; }
.pr-geometry-grid label>span { position:absolute; right:2px; top:0; color:var(--muted); font-size:9px; }
.pr-geometry-grid input { padding:7px 5px; font-variant-numeric:tabular-nums; }
.pr-geometry-fields>.pr-btn { margin-top:6px; width:100%; min-height:30px; font-size:10px !important; }
/* Minimal project surfaces: names, actions and real state only. */
.pr-project { display:flex; flex-direction:column; padding:24px; }
.pr-project-open { display:block; width:100%; padding:0; border:0; background:none; color:inherit; text-align:left; flex:1; }
.pr-project-open small { display:block; margin-top:12px; }
.pr-project-footer { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:22px; min-height:34px; }
.pr-delete-project { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:transparent; cursor:pointer; }
.pr-delete-project svg { width:17px; height:17px; }
.pr-delete-project:hover { color:#f17c8d; border-color:#a54b60; }
.pr-category { min-height:210px; }
.pr-category h2 { margin-top:30px; }
.pr-form { display:block; width:100%; max-width:780px; margin:0 auto; padding:22px 34px 60px; }
.pr-form-fields { width:100%; }
.pr-save-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.pr-runtime-command { white-space:pre-wrap; overflow-wrap:anywhere; font:11px/1.8 ui-monospace,monospace; margin:10px 0; color:var(--ink); }
.pr-radio:has(input:disabled) { opacity:.5; cursor:not-allowed; }
@media(max-width:540px){.pr-form{padding:18px}.pr-project{padding:20px}}
